## org.jfree.chart.axis
Class ValueAxis

    java.lang.Object
      org.jfree.chart.axis.Axis
          org.jfree.chart.axis.ValueAxis

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, org.jfree.util.PublicCloneable

Direct Known Subclasses:
  DateAxis, NumberAxis, PeriodAxis

    public abstract class ValueAxis

extends Axis
implements java.lang.Cloneable, org.jfree.util.PublicCloneable, java.io.Serializable

The base class for axes that display value data, where values are measured using the `double` primitive. The two key subclasses are `DateAxis` and `NumberAxis`.

See Also:
  Serialized Form

Field Summary
`static boolean` `DEFAULT_AUTO_RANGE` The default auto-range value.
`static double` `DEFAULT_AUTO_RANGE_MINIMUM_SIZE` The default minimum auto range.
`static boolean` `DEFAULT_AUTO_TICK_UNIT_SELECTION` The default auto-tick-unit-selection value.
`static boolean` `DEFAULT_INVERTED` The default inverted flag setting.
`static double` `DEFAULT_LOWER_BOUND` The default lower bound for the axis.
`static double` `DEFAULT_LOWER_MARGIN` The default value for the lower margin (0.05 = 5%).
`static Range` `DEFAULT_RANGE` The default axis range.
`static double` `DEFAULT_UPPER_BOUND` The default upper bound for the axis.
`static double` `DEFAULT_UPPER_MARGIN` The default value for the upper margin (0.05 = 5%).
`static int` `MAXIMUM_TICK_COUNT` The maximum tick count.

Fields inherited from class org.jfree.chart.axis.Axis

`DEFAULT_AXIS_LABEL_FONT, DEFAULT_AXIS_LABEL_INSETS, DEFAULT_AXIS_LABEL_PAINT, DEFAULT_AXIS_LINE_PAINT, DEFAULT_AXIS_LINE_STROKE, DEFAULT_AXIS_VISIBLE, DEFAULT_TICK_LABEL_FONT, DEFAULT_TICK_LABEL_INSETS, DEFAULT_TICK_LABEL_PAINT, DEFAULT_TICK_LABELS_VISIBLE, DEFAULT_TICK_MARK_INSIDE_LENGTH, DEFAULT_TICK_MARK_OUTSIDE_LENGTH, DEFAULT_TICK_MARK_PAINT, DEFAULT_TICK_MARK_STROKE, DEFAULT_TICK_MARKS_VISIBLE, LOGGER`

Constructor Summary
`protected` `ValueAxis(java.lang.String label, TickUnitSource standardTickUnits)` Constructs a value axis.

Method Summary
`protected abstract void` `autoAdjustRange()` Automatically sets the axis range to fit the range of values in the dataset.
`protected float[]` `calculateAnchorPoint(ValueTick tick, double cursor, java.awt.geom.Rectangle2D dataArea, org.jfree.ui.RectangleEdge edge)` Calculates the anchor point for a tick label.
`void` `centerRange(double value)` Centers the axis range about the specified value and sends an `AxisChangeEvent` to all registered listeners.
`java.lang.Object` `clone()` Returns a clone of the object.
`protected void` `drawAxisLine(java.awt.Graphics2D g2, double cursor, java.awt.geom.Rectangle2D dataArea, org.jfree.ui.RectangleEdge edge)` Draws an axis line at the current cursor position and edge.
`protected AxisState` `drawTickMarksAndLabels(java.awt.Graphics2D g2, double cursor, java.awt.geom.Rectangle2D plotArea, java.awt.geom.Rectangle2D dataArea, org.jfree.ui.RectangleEdge edge)` Draws the axis line, tick marks and tick mark labels.
`boolean` `equals(java.lang.Object obj)` Tests the axis for equality with an arbitrary object.
`protected double` `findMaximumTickLabelHeight(java.util.List ticks, java.awt.Graphics2D g2, java.awt.geom.Rectangle2D drawArea, boolean vertical)` A utility method for determining the height of the tallest tick label.
`protected double` `findMaximumTickLabelWidth(java.util.List ticks, java.awt.Graphics2D g2, java.awt.geom.Rectangle2D drawArea, boolean vertical)` A utility method for determining the width of the widest tick label.
`double` `getAutoRangeMinimumSize()` Returns the minimum size allowed for the axis range when it is automatically calculated.
`protected int` `getAutoTickIndex()` Returns the auto tick index.
`java.awt.Shape` `getDownArrow()` Returns a shape that can be displayed as an arrow pointing downwards at the end of an axis line.
`double` `getFixedAutoRange()` Returns the fixed auto range.
`java.awt.Shape` `getLeftArrow()` Returns a shape that can be displayed as an arrow pointing left at the end of an axis line.
`double` `getLowerBound()` Returns the lower bound of the axis range.
`double` `getLowerMargin()` Returns the lower margin for the axis, expressed as a percentage of the axis range.
`Range` `getRange()` Returns the range for the axis.
`java.awt.Shape` `getRightArrow()` Returns a shape that can be displayed as an arrow pointing right at the end of an axis line.
`TickUnitSource` `getStandardTickUnits()` Returns the source for obtaining standard tick units for the axis.
`java.awt.Shape` `getUpArrow()` Returns a shape that can be displayed as an arrow pointing upwards at the end of an axis line.
`double` `getUpperBound()` Returns the upper bound for the axis range.
`double` `getUpperMargin()` Returns the upper margin for the axis, expressed as a percentage of the axis range.
`boolean` `isAutoRange()` Returns the flag that controls whether or not the axis range is automatically adjusted to fit the data values.
`boolean` `isAutoTickUnitSelection()` Returns a flag indicating whether or not the tick unit is automatically selected from a range of standard tick units.
`boolean` `isInverted()` Returns a flag that controls the direction of values on the axis.
`boolean` `isNegativeArrowVisible()` Returns a flag that controls whether or not the axis line has an arrow drawn that points in the negative direction for the axis.
`boolean` `isPositiveArrowVisible()` Returns a flag that controls whether or not the axis line has an arrow drawn that points in the positive direction for the axis.
`boolean` `isVerticalTickLabels()` Returns `true` if the tick labels should be rotated (to vertical), and `false` otherwise.
`abstract double` `java2DToValue(double java2DValue, java.awt.geom.Rectangle2D area, org.jfree.ui.RectangleEdge edge)` Converts a coordinate in Java2D space to the corresponding data value, assuming that the axis runs along one edge of the specified dataArea.
`double` `lengthToJava2D(double length, java.awt.geom.Rectangle2D area, org.jfree.ui.RectangleEdge edge)` Converts a length in data coordinates into the corresponding length in Java2D coordinates.
`AxisSpace` `reserveSpace(java.awt.Graphics2D g2, Plot plot, java.awt.geom.Rectangle2D plotArea, org.jfree.ui.RectangleEdge edge, AxisSpace space)` Returns the space required to draw the axis.
`void` `resizeRange(double percent)` Increases or decreases the axis range by the specified percentage about the central value and sends an `AxisChangeEvent` to all registered listeners.
`void` `resizeRange(double percent, double anchorValue)` Increases or decreases the axis range by the specified percentage about the specified anchor value and sends an `AxisChangeEvent` to all registered listeners.
`void` `setAutoRange(boolean auto)` Sets a flag that determines whether or not the axis range is automatically adjusted to fit the data, and notifies registered listeners that the axis has been modified.
`protected void` `setAutoRange(boolean auto, boolean notify)` Sets the auto range attribute.
`void` `setAutoRangeMinimumSize(double size)` Sets the auto range minimum size and sends an `AxisChangeEvent` to all registered listeners.
`void` `setAutoRangeMinimumSize(double size, boolean notify)` Sets the minimum size allowed for the axis range when it is automatically calculated.
`protected void` `setAutoTickIndex(int index)` Sets the auto tick index.
`void` `setAutoTickUnitSelection(boolean flag)` Sets a flag indicating whether or not the tick unit is automatically selected from a range of standard tick units.
`void` `setAutoTickUnitSelection(boolean flag, boolean notify)` Sets a flag indicating whether or not the tick unit is automatically selected from a range of standard tick units.
`void` `setDownArrow(java.awt.Shape arrow)` Sets the shape that can be displayed as an arrow pointing downwards at the end of an axis line and sends an `AxisChangeEvent` to all registered listeners.
`void` `setFixedAutoRange(double length)` Sets the fixed auto range for the axis.
`void` `setInverted(boolean flag)` Sets a flag that controls the direction of values on the axis, and notifies registered listeners that the axis has changed.
`void` `setLeftArrow(java.awt.Shape arrow)` Sets the shape that can be displayed as an arrow pointing left at the end of an axis line and sends an `AxisChangeEvent` to all registered listeners.
`void` `setLowerBound(double min)` Sets the lower bound for the axis range.
`void` `setLowerMargin(double margin)` Sets the lower margin for the axis (as a percentage of the axis range) and sends an `AxisChangeEvent` to all registered listeners.
`void` `setNegativeArrowVisible(boolean visible)` Sets a flag that controls whether or not the axis lines has an arrow drawn that points in the negative direction for the axis, and sends an `AxisChangeEvent` to all registered listeners.
`void` `setPositiveArrowVisible(boolean visible)` Sets a flag that controls whether or not the axis lines has an arrow drawn that points in the positive direction for the axis, and sends an `AxisChangeEvent` to all registered listeners.
`void` `setRange(double lower, double upper)` Sets the axis range and sends an `AxisChangeEvent` to all registered listeners.
`void` `setRange(Range range)` Sets the range attribute and sends an `AxisChangeEvent` to all registered listeners.
`void` `setRange(Range range, boolean turnOffAutoRange, boolean notify)` Sets the range for the axis, if requested, sends an `AxisChangeEvent` to all registered listeners.
`void` `setRangeAboutValue(double value, double length)` Sets the axis range, where the new range is 'size' in length, and centered on 'value'.
`void` `setRangeWithMargins(double lower, double upper)` Sets the axis range (after first adding the current margins to the range) and sends an `AxisChangeEvent` to all registered listeners.
`void` `setRangeWithMargins(Range range)` Sets the range for the axis (after first adding the current margins to the specified range) and sends an `AxisChangeEvent` to all registered listeners.
`void` `setRangeWithMargins(Range range, boolean turnOffAutoRange, boolean notify)` Sets the range for the axis after first adding the current margins to the range and, if requested, sends an `AxisChangeEvent` to all registered listeners.
`void` `setRightArrow(java.awt.Shape arrow)` Sets the shape that can be displayed as an arrow pointing rightwards at the end of an axis line and sends an `AxisChangeEvent` to all registered listeners.
`void` `setStandardTickUnits(TickUnitSource source)` Sets the source for obtaining standard tick units for the axis and sends an `AxisChangeEvent` to all registered listeners.
`void` `setUpArrow(java.awt.Shape arrow)` Sets the shape that can be displayed as an arrow pointing upwards at the end of an axis line and sends an `AxisChangeEvent` to all registered listeners.
`void` `setUpperBound(double max)` Sets the upper bound for the axis range.
`void` `setUpperMargin(double margin)` Sets the upper margin for the axis (as a percentage of the axis range) and sends an `AxisChangeEvent` to all registered listeners.
`void` `setVerticalTickLabels(boolean flag)` Sets the flag that controls whether the tick labels are displayed vertically (that is, rotated 90 degrees from horizontal).
`abstract double` `valueToJava2D(double value, java.awt.geom.Rectangle2D area, org.jfree.ui.RectangleEdge edge)` Converts a data value to a coordinate in Java2D space, assuming that the axis runs along one edge of the specified dataArea.
`void` `zoomRange(double lowerPercent, double upperPercent)` Zooms in on the current range.

Methods inherited from class org.jfree.chart.axis.Axis

`addChangeListener, configure, draw, drawLabel, getAxisLinePaint, getAxisLineStroke, getFixedDimension, getLabel, getLabelAngle, getLabelEnclosure, getLabelFont, getLabelInsets, getLabelPaint, getPlot, getTickLabelFont, getTickLabelInsets, getTickLabelPaint, getTickMarkInsideLength, getTickMarkOutsideLength, getTickMarkPaint, getTickMarkStroke, isAxisLineVisible, isTickLabelsVisible, isTickMarksVisible, isVisible, notifyListeners, refreshTicks, removeChangeListener, setAxisLinePaint, setAxisLineStroke, setAxisLineVisible, setFixedDimension, setLabel, setLabelAngle, setLabelFont, setLabelInsets, setLabelPaint, setPlot, setTickLabelFont, setTickLabelInsets, setTickLabelPaint, setTickLabelsVisible, setTickMarkInsideLength, setTickMarkOutsideLength, setTickMarkPaint, setTickMarkStroke, setTickMarksVisible, setVisible`

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

Field Detail

### DEFAULT_RANGE

    public static final Range DEFAULT_RANGE

  The default axis range.

### DEFAULT_AUTO_RANGE

    public static final boolean DEFAULT_AUTO_RANGE

  The default auto-range value.

  See Also:
    Constant Field Values

### DEFAULT_INVERTED

    public static final boolean DEFAULT_INVERTED

  The default inverted flag setting.

  See Also:
    Constant Field Values

### DEFAULT_AUTO_RANGE_MINIMUM_SIZE

    public static final double DEFAULT_AUTO_RANGE_MINIMUM_SIZE

  The default minimum auto range.

  See Also:
    Constant Field Values

### DEFAULT_LOWER_MARGIN

    public static final double DEFAULT_LOWER_MARGIN

  The default value for the lower margin (0.05 = 5%).

  See Also:
    Constant Field Values

### DEFAULT_UPPER_MARGIN

    public static final double DEFAULT_UPPER_MARGIN

  The default value for the upper margin (0.05 = 5%).

  See Also:
    Constant Field Values

### DEFAULT_LOWER_BOUND

    public static final double DEFAULT_LOWER_BOUND

  The default lower bound for the axis.

  See Also:
    Constant Field Values

### DEFAULT_UPPER_BOUND

    public static final double DEFAULT_UPPER_BOUND

  The default upper bound for the axis.

  See Also:
    Constant Field Values

### DEFAULT_AUTO_TICK_UNIT_SELECTION

    public static final boolean DEFAULT_AUTO_TICK_UNIT_SELECTION

  The default auto-tick-unit-selection value.

  See Also:
    Constant Field Values

### MAXIMUM_TICK_COUNT

    public static final int MAXIMUM_TICK_COUNT

  The maximum tick count.

  See Also:
    Constant Field Values

Constructor Detail

### ValueAxis

    protected ValueAxis(java.lang.String label,
                        TickUnitSource standardTickUnits)

  Constructs a value axis.

  Parameters:
    `label` - the axis label.
    `standardTickUnits` - the source for standard tick units (`null` permitted).

Method Detail

### isVerticalTickLabels

    public boolean isVerticalTickLabels()

  Returns `true` if the tick labels should be rotated (to vertical), and `false` otherwise.

  Returns:
    `true` or `false`.

### setVerticalTickLabels

    public void setVerticalTickLabels(boolean flag)

  Sets the flag that controls whether the tick labels are displayed vertically (that is, rotated 90 degrees from horizontal). If the flag is changed, an `AxisChangeEvent` is sent to all registered listeners.

  Parameters:
    `flag` - the flag.

### isPositiveArrowVisible

    public boolean isPositiveArrowVisible()

  Returns a flag that controls whether or not the axis line has an arrow drawn that points in the positive direction for the axis.

  Returns:
    A boolean.

### setPositiveArrowVisible

    public void setPositiveArrowVisible(boolean visible)

  Sets a flag that controls whether or not the axis lines has an arrow drawn that points in the positive direction for the axis, and sends an `AxisChangeEvent` to all registered listeners.

  Parameters:
    `visible` - the flag.

### isNegativeArrowVisible

    public boolean isNegativeArrowVisible()

  Returns a flag that controls whether or not the axis line has an arrow drawn that points in the negative direction for the axis.

  Returns:
    A boolean.

### setNegativeArrowVisible

    public void setNegativeArrowVisible(boolean visible)

  Sets a flag that controls whether or not the axis lines has an arrow drawn that points in the negative direction for the axis, and sends an `AxisChangeEvent` to all registered listeners.

  Parameters:
    `visible` - the flag.

### getUpArrow

    public java.awt.Shape getUpArrow()

  Returns a shape that can be displayed as an arrow pointing upwards at the end of an axis line.

  Returns:
    A shape (never `null`).

### setUpArrow

    public void setUpArrow(java.awt.Shape arrow)

  Sets the shape that can be displayed as an arrow pointing upwards at the end of an axis line and sends an `AxisChangeEvent` to all registered listeners.

  Parameters:
    `arrow` - the arrow shape (`null` not permitted).

### getDownArrow

    public java.awt.Shape getDownArrow()

  Returns a shape that can be displayed as an arrow pointing downwards at the end of an axis line.

  Returns:
    A shape (never `null`).

### setDownArrow

    public void setDownArrow(java.awt.Shape arrow)

  Sets the shape that can be displayed as an arrow pointing downwards at the end of an axis line and sends an `AxisChangeEvent` to all registered listeners.

  Parameters:
    `arrow` - the arrow shape (`null` not permitted).

### getLeftArrow

    public java.awt.Shape getLeftArrow()

  Returns a shape that can be displayed as an arrow pointing left at the end of an axis line.

  Returns:
    A shape (never `null`).

### setLeftArrow

    public void setLeftArrow(java.awt.Shape arrow)

  Sets the shape that can be displayed as an arrow pointing left at the end of an axis line and sends an `AxisChangeEvent` to all registered listeners.

  Parameters:
    `arrow` - the arrow shape (`null` not permitted).

### getRightArrow

    public java.awt.Shape getRightArrow()

  Returns a shape that can be displayed as an arrow pointing right at the end of an axis line.

  Returns:
    A shape (never `null`).

### setRightArrow

    public void setRightArrow(java.awt.Shape arrow)

  Sets the shape that can be displayed as an arrow pointing rightwards at the end of an axis line and sends an `AxisChangeEvent` to all registered listeners.

  Parameters:
    `arrow` - the arrow shape (`null` not permitted).

### drawAxisLine

    protected void drawAxisLine(java.awt.Graphics2D g2,
                                double cursor,
                                java.awt.geom.Rectangle2D dataArea,
                                org.jfree.ui.RectangleEdge edge)

  Draws an axis line at the current cursor position and edge.

  Overrides:
    `drawAxisLine` in class `Axis`
  Parameters:
    `g2` - the graphics device.
    `cursor` - the cursor position.
    `dataArea` - the data area.
    `edge` - the edge.

### calculateAnchorPoint

    protected float[] calculateAnchorPoint(ValueTick tick,
                                           double cursor,
                                           java.awt.geom.Rectangle2D dataArea,
                                           org.jfree.ui.RectangleEdge edge)

  Calculates the anchor point for a tick label.

  Parameters:
    `tick` - the tick.
    `cursor` - the cursor.
    `dataArea` - the data area.
    `edge` - the edge on which the axis is drawn.
  Returns:
    the x and y coordinates of the anchor point.

### drawTickMarksAndLabels

    protected AxisState drawTickMarksAndLabels(java.awt.Graphics2D g2,
                                               double cursor,
                                               java.awt.geom.Rectangle2D plotArea,
                                               java.awt.geom.Rectangle2D dataArea,
                                               org.jfree.ui.RectangleEdge edge)

  Draws the axis line, tick marks and tick mark labels.

  Parameters:
    `g2` - the graphics device.
    `cursor` - the cursor.
    `plotArea` - the plot area.
    `dataArea` - the data area.
    `edge` - the edge that the axis is aligned with.
  Returns:
    The width or height used to draw the axis.

### reserveSpace

    public AxisSpace reserveSpace(java.awt.Graphics2D g2,
                                  Plot plot,
                                  java.awt.geom.Rectangle2D plotArea,
                                  org.jfree.ui.RectangleEdge edge,
                                  AxisSpace space)

  Returns the space required to draw the axis.

  Specified by:
    `reserveSpace` in class `Axis`
  Parameters:
    `g2` - the graphics device.
    `plot` - the plot that the axis belongs to.
    `plotArea` - the area within which the plot should be drawn.
    `edge` - the axis location.
    `space` - the space already reserved (for other axes).
  Returns:
    The space required to draw the axis (including pre-reserved space).

### findMaximumTickLabelHeight

    protected double findMaximumTickLabelHeight(java.util.List ticks,
                                                java.awt.Graphics2D g2,
                                                java.awt.geom.Rectangle2D drawArea,
                                                boolean vertical)

  A utility method for determining the height of the tallest tick label.

  Parameters:
    `ticks` - the ticks.
    `g2` - the graphics device.
    `drawArea` - the area within which the plot and axes should be drawn.
    `vertical` - a flag that indicates whether or not the tick labels are 'vertical'.
  Returns:
    The height of the tallest tick label.

### findMaximumTickLabelWidth

    protected double findMaximumTickLabelWidth(java.util.List ticks,
                                               java.awt.Graphics2D g2,
                                               java.awt.geom.Rectangle2D drawArea,
                                               boolean vertical)

  A utility method for determining the width of the widest tick label.

  Parameters:
    `ticks` - the ticks.
    `g2` - the graphics device.
    `drawArea` - the area within which the plot and axes should be drawn.
    `vertical` - a flag that indicates whether or not the tick labels are 'vertical'.
  Returns:
    The width of the tallest tick label.

### isInverted

    public boolean isInverted()

  Returns a flag that controls the direction of values on the axis.

  For a regular axis, values increase from left to right (for a horizontal axis) and bottom to top (for a vertical axis). When the axis is 'inverted', the values increase in the opposite direction.

  Returns:
    The flag.

### setInverted

    public void setInverted(boolean flag)

  Sets a flag that controls the direction of values on the axis, and notifies registered listeners that the axis has changed.

  Parameters:
    `flag` - the flag.

### isAutoRange

    public boolean isAutoRange()

  Returns the flag that controls whether or not the axis range is automatically adjusted to fit the data values.

  Returns:
    The flag.

### setAutoRange

    public void setAutoRange(boolean auto)

  Sets a flag that determines whether or not the axis range is automatically adjusted to fit the data, and notifies registered listeners that the axis has been modified.

  Parameters:
    `auto` - the new value of the flag.

### setAutoRange

    protected void setAutoRange(boolean auto,
                                boolean notify)

  Sets the auto range attribute. If the `notify` flag is set, an `AxisChangeEvent` is sent to registered listeners.

  Parameters:
    `auto` - the flag.
    `notify` - notify listeners?

### getAutoRangeMinimumSize

    public double getAutoRangeMinimumSize()

  Returns the minimum size allowed for the axis range when it is automatically calculated.

  Returns:
    The minimum range.

### setAutoRangeMinimumSize

    public void setAutoRangeMinimumSize(double size)

  Sets the auto range minimum size and sends an `AxisChangeEvent` to all registered listeners.

  Parameters:
    `size` - the size.

### setAutoRangeMinimumSize

    public void setAutoRangeMinimumSize(double size,
                                        boolean notify)

  Sets the minimum size allowed for the axis range when it is automatically calculated.

  If requested, an `AxisChangeEvent` is forwarded to all registered listeners.

  Parameters:
    `size` - the new minimum.
    `notify` - notify listeners?

### getLowerMargin

    public double getLowerMargin()

  Returns the lower margin for the axis, expressed as a percentage of the axis range. This controls the space added to the lower end of the axis when the axis range is automatically calculated (it is ignored when the axis range is set explicitly). The default value is 0.05 (five percent).

  Returns:
    The lower margin.

### setLowerMargin

    public void setLowerMargin(double margin)

  Sets the lower margin for the axis (as a percentage of the axis range) and sends an `AxisChangeEvent` to all registered listeners. This margin is added only when the axis range is auto-calculated - if you set the axis range manually, the margin is ignored.

  Parameters:
    `margin` - the margin percentage (for example, 0.05 is five percent).

### getUpperMargin

    public double getUpperMargin()

  Returns the upper margin for the axis, expressed as a percentage of the axis range. This controls the space added to the lower end of the axis when the axis range is automatically calculated (it is ignored when the axis range is set explicitly). The default value is 0.05 (five percent).

  Returns:
    The upper margin.

### setUpperMargin

    public void setUpperMargin(double margin)

  Sets the upper margin for the axis (as a percentage of the axis range) and sends an `AxisChangeEvent` to all registered listeners. This margin is added only when the axis range is auto-calculated - if you set the axis range manually, the margin is ignored.

  Parameters:
    `margin` - the margin percentage (for example, 0.05 is five percent).

### getFixedAutoRange

    public double getFixedAutoRange()

  Returns the fixed auto range.

  Returns:
    The length.

### setFixedAutoRange

    public void setFixedAutoRange(double length)

  Sets the fixed auto range for the axis.

  Parameters:
    `length` - the range length.

### getLowerBound

    public double getLowerBound()

  Returns the lower bound of the axis range.

  Returns:
    The lower bound.

### setLowerBound

    public void setLowerBound(double min)

  Sets the lower bound for the axis range. An `AxisChangeEvent` is sent to all registered listeners.

  Parameters:
    `min` - the new minimum.

### getUpperBound

    public double getUpperBound()

  Returns the upper bound for the axis range.

  Returns:
    The upper bound.

### setUpperBound

    public void setUpperBound(double max)

  Sets the upper bound for the axis range. An `AxisChangeEvent` is sent to all registered listeners.

  Parameters:
    `max` - the new maximum.

### getRange

    public Range getRange()

  Returns the range for the axis.

  Returns:
    The axis range (never `null`).

### setRange

    public void setRange(Range range)

  Sets the range attribute and sends an `AxisChangeEvent` to all registered listeners. As a side-effect, the auto-range flag is set to `false`.

  Parameters:
    `range` - the range (`null` not permitted).

### setRange

    public void setRange(Range range,
                         boolean turnOffAutoRange,
                         boolean notify)

  Sets the range for the axis, if requested, sends an `AxisChangeEvent` to all registered listeners. As a side-effect, the auto-range flag is set to `false` (optional).

  Parameters:
    `range` - the range (`null` not permitted).
    `turnOffAutoRange` - a flag that controls whether or not the auto range is turned off.
    `notify` - a flag that controls whether or not listeners are notified.

### setRange

    public void setRange(double lower,
                         double upper)

  Sets the axis range and sends an `AxisChangeEvent` to all registered listeners. As a side-effect, the auto-range flag is set to `false`.

  Parameters:
    `lower` - the lower axis limit.
    `upper` - the upper axis limit.

### setRangeWithMargins

    public void setRangeWithMargins(Range range)

  Sets the range for the axis (after first adding the current margins to the specified range) and sends an `AxisChangeEvent` to all registered listeners.

  Parameters:
    `range` - the range (`null` not permitted).

### setRangeWithMargins

    public void setRangeWithMargins(Range range,
                                    boolean turnOffAutoRange,
                                    boolean notify)

  Sets the range for the axis after first adding the current margins to the range and, if requested, sends an `AxisChangeEvent` to all registered listeners. As a side-effect, the auto-range flag is set to `false` (optional).

  Parameters:
    `range` - the range (excluding margins, `null` not permitted).
    `turnOffAutoRange` - a flag that controls whether or not the auto range is turned off.
    `notify` - a flag that controls whether or not listeners are notified.

### setRangeWithMargins

    public void setRangeWithMargins(double lower,
                                    double upper)

  Sets the axis range (after first adding the current margins to the range) and sends an `AxisChangeEvent` to all registered listeners. As a side-effect, the auto-range flag is set to `false`.

  Parameters:
    `lower` - the lower axis limit.
    `upper` - the upper axis limit.

### setRangeAboutValue

    public void setRangeAboutValue(double value,
                                   double length)

  Sets the axis range, where the new range is 'size' in length, and centered on 'value'.

  Parameters:
    `value` - the central value.
    `length` - the range length.

### isAutoTickUnitSelection

    public boolean isAutoTickUnitSelection()

  Returns a flag indicating whether or not the tick unit is automatically selected from a range of standard tick units.

  Returns:
    A flag indicating whether or not the tick unit is automatically selected.

### setAutoTickUnitSelection

    public void setAutoTickUnitSelection(boolean flag)

  Sets a flag indicating whether or not the tick unit is automatically selected from a range of standard tick units. If the flag is changed, registered listeners are notified that the chart has changed.

  Parameters:
    `flag` - the new value of the flag.

### setAutoTickUnitSelection

    public void setAutoTickUnitSelection(boolean flag,
                                         boolean notify)

  Sets a flag indicating whether or not the tick unit is automatically selected from a range of standard tick units.

  Parameters:
    `flag` - the new value of the flag.
    `notify` - notify listeners?

### getStandardTickUnits

    public TickUnitSource getStandardTickUnits()

  Returns the source for obtaining standard tick units for the axis.

  Returns:
    The source (possibly `null`).

### setStandardTickUnits

    public void setStandardTickUnits(TickUnitSource source)

  Sets the source for obtaining standard tick units for the axis and sends an `AxisChangeEvent` to all registered listeners. The axis will try to select the smallest tick unit from the source that does not cause the tick labels to overlap (see also the `setAutoTickUnitSelection(boolean)` method.

  Parameters:
    `source` - the source for standard tick units (`null` permitted).

### valueToJava2D

    public abstract double valueToJava2D(double value,
                                         java.awt.geom.Rectangle2D area,
                                         org.jfree.ui.RectangleEdge edge)

  Converts a data value to a coordinate in Java2D space, assuming that the axis runs along one edge of the specified dataArea.

  Note that it is possible for the coordinate to fall outside the area.

  Parameters:
    `value` - the data value.
    `area` - the area for plotting the data.
    `edge` - the edge along which the axis lies.
  Returns:
    The Java2D coordinate.

### lengthToJava2D

    public double lengthToJava2D(double length,
                                 java.awt.geom.Rectangle2D area,
                                 org.jfree.ui.RectangleEdge edge)

  Converts a length in data coordinates into the corresponding length in Java2D coordinates.

  Parameters:
    `length` - the length.
    `area` - the plot area.
    `edge` - the edge along which the axis lies.
  Returns:
    The length in Java2D coordinates.

### java2DToValue

    public abstract double java2DToValue(double java2DValue,
                                         java.awt.geom.Rectangle2D area,
                                         org.jfree.ui.RectangleEdge edge)

  Converts a coordinate in Java2D space to the corresponding data value, assuming that the axis runs along one edge of the specified dataArea.

  Parameters:
    `java2DValue` - the coordinate in Java2D space.
    `area` - the area in which the data is plotted.
    `edge` - the edge along which the axis lies.
  Returns:
    The data value.

### autoAdjustRange

    protected abstract void autoAdjustRange()

  Automatically sets the axis range to fit the range of values in the dataset. Sometimes this can depend on the renderer used as well (for example, the renderer may "stack" values, requiring an axis range greater than otherwise necessary).

### centerRange

    public void centerRange(double value)

  Centers the axis range about the specified value and sends an `AxisChangeEvent` to all registered listeners.

  Parameters:
    `value` - the center value.

### resizeRange

    public void resizeRange(double percent)

  Increases or decreases the axis range by the specified percentage about the central value and sends an `AxisChangeEvent` to all registered listeners.

  To double the length of the axis range, use 200% (2.0). To halve the length of the axis range, use 50% (0.5).

  Parameters:
    `percent` - the resize factor.

### resizeRange

    public void resizeRange(double percent,
                            double anchorValue)

  Increases or decreases the axis range by the specified percentage about the specified anchor value and sends an `AxisChangeEvent` to all registered listeners.

  To double the length of the axis range, use 200% (2.0). To halve the length of the axis range, use 50% (0.5).

  Parameters:
    `percent` - the resize factor.
    `anchorValue` - the new central value after the resize.

### zoomRange

    public void zoomRange(double lowerPercent,
                          double upperPercent)

  Zooms in on the current range.

  Parameters:
    `lowerPercent` - the new lower bound.
    `upperPercent` - the new upper bound.

### getAutoTickIndex

    protected int getAutoTickIndex()

  Returns the auto tick index.

  Returns:
    The auto tick index.

### setAutoTickIndex

    protected void setAutoTickIndex(int index)

  Sets the auto tick index.

  Parameters:
    `index` - the new value.

### equals

    public boolean equals(java.lang.Object obj)

  Tests the axis for equality with an arbitrary object.

  Overrides:
    `equals` in class `Axis`
  Parameters:
    `obj` - the object (`null` permitted).
  Returns:
    `true` or `false`.

### clone

    public java.lang.Object clone()
                           throws java.lang.CloneNotSupportedException

  Returns a clone of the object.

  Specified by:
    `clone` in interface `org.jfree.util.PublicCloneable`
  Overrides:
    `clone` in class `Axis`
  Returns:
    A clone.
  Throws:
    `java.lang.CloneNotSupportedException` - if some component of the axis does not support cloning.