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

Fields
`private boolean` `startTicksAtAxis`
`private int` `xLabelFilter`

### Constructor Summary

Constructors
Constructor and Description
`XAxis(AxisChart axisChart, int numberOfScaleItems)`

### Method Summary

Methods
`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