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
    Modifier and Type | Field and Description
    --- | ---
    `private boolean` | `startTicksAtAxis`
    `private int` | `xLabelFilter`

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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