## org.jCharts.axisChart.axis
Class XAxis

    java.lang.Object
      org.jCharts.axisChart.axis.Axis
          org.jCharts.axisChart.axis.XAxis

All Implemented Interfaces:
  Serializable, HTMLTestable

    public final class XAxis

extends Axis
implements HTMLTestable

See Also:
  Serialized Form

Field Summary
`private boolean` `startTicksAtAxis`
`private int` `xLabelFilter`

Constructor Summary
`XAxis(AxisChart axisChart, int numberOfScaleItems)`

Method Summary
`float` `computeAxisCoordinate(float origin, double value, double axisMinValue)` Takes a value and determines the screen coordinate it should be drawn at.
`void` `computeLabelFilter()` Method to compute the filter to use on the x-axis label display so labels do not overlap
`void` `computeMinimumHeightNeeded(String axisTitle)` Computes the minimum pixel height required for the X-Axis.
`void` `computeScalePixelWidth()` Computes the number of pixels between each value on the axis.
`void` `computeShouldTickStartAtYAxis(IAxisDataSeries iAxisDataSeries, AxisTypeProperties axisTypeProperties)` Determines if we should start x-axis ticks at the y-axis or space it out a half a scale item width.
`void` `computeTickStart()` Computes the screen pixel location of the first tick mark
`void` `render(Graphics2D graphics2D, AxisProperties axisProperties, String axisTitle)` Renders the YAxis on the passes Graphics2D object
`private void` `renderAxisTitle(String axisTitle, Graphics2D graphics2D, AxisTypeProperties axisTypeProperties)` Computes the number of pixels between each value on the axis.
`void` `toHTML(HTMLGenerator htmlGenerator)` Enables the testing routines to display the contents of this Object.

Methods inherited from class org.jCharts.axisChart.axis.Axis

`computeAxisTitleDimensions, computeOneUnitPixelSize, computeScalePixelWidthDataAxis, getAxisChart, getAxisLabelsGroup, getMinimumHeightNeeded, getMinimumWidthNeeded, getNumberOfScaleItems, getOneUnitPixelSize, getOrigin, getPixelLength, getScaleCalculator, getScalePixelWidth, getTickStart, getTitleHeight, getTitleWidth, getZeroLineCoordinate, setAxisLabelsGroup, setMinimumHeightNeeded, setMinimumWidthNeeded, setOneUnitPixelSize, setOrigin, setPixelLength, setScaleCalculator, setScalePixelWidth, setTickStart, setZeroLineCoordinate`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### xLabelFilter

    private int xLabelFilter

### startTicksAtAxis

    private boolean startTicksAtAxis

Constructor Detail

### XAxis

    public XAxis(AxisChart axisChart,
                 int numberOfScaleItems)

Parameters:
  `axisChart` -
  `numberOfScaleItems` -

Method Detail

### computeMinimumHeightNeeded

    public void computeMinimumHeightNeeded(String axisTitle)

  Computes the minimum pixel height required for the X-Axis. Includes space, if needed, for: axis title + padding, axis values + tick padding, and tick marks.

  Parameters:
    `axisTitle` -

### renderAxisTitle

    private void renderAxisTitle(String axisTitle,
                                 Graphics2D graphics2D,
                                 AxisTypeProperties axisTypeProperties)

  Computes the number of pixels between each value on the axis. public void computeScalePixelWidth( int numberOfValuesOnXAxis ) { super.setScalePixelWidth( super.getPixelLength() / numberOfValuesOnXAxis ); } /****************************************************************************************************

  Parameters:
    `axisTitle` -
    `graphics2D` -
    `axisTypeProperties` -

### computeShouldTickStartAtYAxis

    public void computeShouldTickStartAtYAxis(IAxisDataSeries iAxisDataSeries,
                                              AxisTypeProperties axisTypeProperties)

  Determines if we should start x-axis ticks at the y-axis or space it out a half a scale item width.

  Parameters:
    `iAxisDataSeries` -
    `axisTypeProperties` -

### computeTickStart

    public void computeTickStart()

  Computes the screen pixel location of the first tick mark

### computeScalePixelWidth

    public void computeScalePixelWidth()

  Computes the number of pixels between each value on the axis.

  Overrides:
    `computeScalePixelWidth` in class `Axis`

### render

    public void render(Graphics2D graphics2D,
                       AxisProperties axisProperties,
                       String axisTitle)

  Renders the YAxis on the passes Graphics2D object

  Parameters:
    `graphics2D` -
    `axisProperties` -
    `axisTitle` -

### computeLabelFilter

    public void computeLabelFilter()

  Method to compute the filter to use on the x-axis label display so labels do not overlap

### toHTML

    public void toHTML(HTMLGenerator htmlGenerator)

  Enables the testing routines to display the contents of this Object.

  Specified by:
    `toHTML` in interface `HTMLTestable`
  Overrides:
    `toHTML` in class `Axis`
  Parameters:
    `htmlGenerator` -

### computeAxisCoordinate

    public float computeAxisCoordinate(float origin,
                                       double value,
                                       double axisMinValue)

  Takes a value and determines the screen coordinate it should be drawn at. THe only difference between this and the y-axis is we add to the origin versus subtract from it.

  Parameters:
    `origin` -
    `value` -
    `axisMinValue` - the minimum value on the axis
  Returns:
    float the screen pixel coordinate