org.jfree.chart.axis

## Class ModuloAxis

- java.lang.Object
- - org.jfree.chart.axis.Axis
  - - org.jfree.chart.axis.ValueAxis
    - - org.jfree.chart.axis.NumberAxis
      - - org.jfree.chart.axis.ModuloAxis

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

    public class ModuloAxis
    extends NumberAxis

An axis that displays numerical values within a fixed range using a modulo calculation.

See Also:
  Serialized Form

### Field Summary

### Fields inherited from class org.jfree.chart.axis.NumberAxis

`DEFAULT_AUTO_RANGE_INCLUDES_ZERO, DEFAULT_AUTO_RANGE_STICKY_ZERO, DEFAULT_TICK_UNIT, DEFAULT_VERTICAL_TICK_LABELS`

### Fields inherited from class org.jfree.chart.axis.ValueAxis

`DEFAULT_AUTO_RANGE, DEFAULT_AUTO_RANGE_MINIMUM_SIZE, DEFAULT_AUTO_TICK_UNIT_SELECTION, DEFAULT_INVERTED, DEFAULT_LOWER_BOUND, DEFAULT_LOWER_MARGIN, DEFAULT_RANGE, DEFAULT_UPPER_BOUND, DEFAULT_UPPER_MARGIN, 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`

### Constructor Summary

Constructors
Constructor and Description
`ModuloAxis(java.lang.String label, Range fixedRange)` Creates a new axis.

### Method Summary

Methods
`protected void` `autoAdjustRange()` This method should calculate a range that will show all the data values.
`boolean` `equals(java.lang.Object obj)` Tests this axis for equality with an arbitrary object.
`double` `getDisplayEnd()` Returns the display end value.
`double` `getDisplayStart()` Returns the display start value.
`double` `java2DToValue(double java2DValue, java.awt.geom.Rectangle2D area, org.jfree.ui.RectangleEdge edge)` Translates a Java2D coordinate into a data value.
`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.
`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` `setDisplayRange(double start, double end)` Sets the display range.
`double` `valueToJava2D(double value, java.awt.geom.Rectangle2D area, org.jfree.ui.RectangleEdge edge)` Translates a data value to a Java2D coordinate.

### Methods inherited from class org.jfree.chart.axis.NumberAxis

`calculateHighestVisibleTickValue, calculateLowestVisibleTickValue, calculateVisibleTickCount, clone, configure, createIntegerTickUnits, createIntegerTickUnits, createStandardTickUnits, createStandardTickUnits, draw, estimateMaximumTickLabelHeight, estimateMaximumTickLabelWidth, getAutoRangeIncludesZero, getAutoRangeStickyZero, getMarkerBand, getNumberFormatOverride, getRangeType, getTickUnit, hashCode, refreshTicks, refreshTicksHorizontal, refreshTicksVertical, selectAutoTickUnit, selectHorizontalAutoTickUnit, selectVerticalAutoTickUnit, setAutoRangeIncludesZero, setAutoRangeStickyZero, setMarkerBand, setNumberFormatOverride, setRangeType, setTickUnit, setTickUnit`

### Methods inherited from class org.jfree.chart.axis.ValueAxis

`calculateAnchorPoint, centerRange, drawAxisLine, drawTickMarksAndLabels, findMaximumTickLabelHeight, findMaximumTickLabelWidth, getAutoRangeMinimumSize, getAutoTickIndex, getDefaultAutoRange, getDownArrow, getFixedAutoRange, getLeftArrow, getLowerBound, getLowerMargin, getMinorTickCount, getRange, getRightArrow, getStandardTickUnits, getUpArrow, getUpperBound, getUpperMargin, isAutoRange, isAutoTickUnitSelection, isInverted, isNegativeArrowVisible, isPositiveArrowVisible, isVerticalTickLabels, pan, reserveSpace, resizeRange2, setAutoRange, setAutoRange, setAutoRangeMinimumSize, setAutoRangeMinimumSize, setAutoTickIndex, setAutoTickUnitSelection, setAutoTickUnitSelection, setDefaultAutoRange, setDownArrow, setFixedAutoRange, setInverted, setLeftArrow, setLowerBound, setLowerMargin, setMinorTickCount, setNegativeArrowVisible, setPositiveArrowVisible, setRange, setRange, setRange, setRangeAboutValue, setRangeWithMargins, setRangeWithMargins, setRangeWithMargins, setRightArrow, setStandardTickUnits, setUpArrow, setUpperBound, setUpperMargin, setVerticalTickLabels, zoomRange`

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

`addChangeListener, createAndAddEntity, drawLabel, fireChangeEvent, getAxisLinePaint, getAxisLineStroke, getFixedDimension, getLabel, getLabelAngle, getLabelEnclosure, getLabelFont, getLabelInsets, getLabelPaint, getMinorTickMarkInsideLength, getMinorTickMarkOutsideLength, getPlot, getTickLabelFont, getTickLabelInsets, getTickLabelPaint, getTickMarkInsideLength, getTickMarkOutsideLength, getTickMarkPaint, getTickMarkStroke, hasListener, isAxisLineVisible, isMinorTickMarksVisible, isTickLabelsVisible, isTickMarksVisible, isVisible, notifyListeners, removeChangeListener, setAxisLinePaint, setAxisLineStroke, setAxisLineVisible, setFixedDimension, setLabel, setLabelAngle, setLabelFont, setLabelInsets, setLabelInsets, setLabelPaint, setMinorTickMarkInsideLength, setMinorTickMarkOutsideLength, setMinorTickMarksVisible, setPlot, setTickLabelFont, setTickLabelInsets, setTickLabelPaint, setTickLabelsVisible, setTickMarkInsideLength, setTickMarkOutsideLength, setTickMarkPaint, setTickMarkStroke, setTickMarksVisible, setVisible`

### Methods inherited from class java.lang.Object

`finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ModuloAxis

    public ModuloAxis(java.lang.String label,
              Range fixedRange)

Creates a new axis.

Parameters:
  `label` - the axis label (`null` permitted).
  `fixedRange` - the fixed range (`null` not permitted).

### Method Detail

#### getDisplayStart

    public double getDisplayStart()

Returns the display start value.

Returns:
  The display start value.

#### getDisplayEnd

    public double getDisplayEnd()

Returns the display end value.

Returns:
  The display end value.

#### setDisplayRange

    public void setDisplayRange(double start,
                       double end)

Sets the display range. The values will be mapped to the fixed range if necessary.

Parameters:
  `start` - the start value.
  `end` - the end value.

#### autoAdjustRange

    protected void autoAdjustRange()

This method should calculate a range that will show all the data values. For now, it just sets the axis range to the fixedRange.

Overrides:
  `autoAdjustRange` in class `NumberAxis`

#### valueToJava2D

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

Translates a data value to a Java2D coordinate.

Overrides:
  `valueToJava2D` in class `NumberAxis`
Parameters:
  `value` - the value.
  `area` - the area.
  `edge` - the edge.
Returns:
  A Java2D coordinate.
See Also:
  `NumberAxis.java2DToValue(double, Rectangle2D, RectangleEdge)`

#### java2DToValue

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

Translates a Java2D coordinate into a data value.

Overrides:
  `java2DToValue` in class `NumberAxis`
Parameters:
  `java2DValue` - the Java2D coordinate.
  `area` - the area.
  `edge` - the edge.
Returns:
  The Java2D coordinate.
See Also:
  `NumberAxis.valueToJava2D(double, Rectangle2D, RectangleEdge)`

#### 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).

Overrides:
  `resizeRange` in class `ValueAxis`
Parameters:
  `percent` - the resize factor.
See Also:
  `ValueAxis.resizeRange(double, double)`

#### 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).

Overrides:
  `resizeRange` in class `ValueAxis`
Parameters:
  `percent` - the resize factor.
  `anchorValue` - the new central value after the resize.
See Also:
  `ValueAxis.resizeRange(double)`

#### 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.

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

#### equals

    public boolean equals(java.lang.Object obj)

Tests this axis for equality with an arbitrary object.

Overrides:
  `equals` in class `NumberAxis`
Parameters:
  `obj` - the object (`null` permitted).
Returns:
  A boolean.