org.jfree.chart.axis
public abstract class ValueAxis extends Axis implements Cloneable, PublicCloneable, Serializable
double
primitive. The two key subclasses are
DateAxis and NumberAxis.
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. |
Constructor Summary | |
---|---|
protected | ValueAxis(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, Rectangle2D dataArea, 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.
|
Object | clone()
Returns a clone of the object.
|
protected void | drawAxisLine(Graphics2D g2, double cursor, Rectangle2D dataArea, RectangleEdge edge)
Draws an axis line at the current cursor position and edge.
|
protected AxisState | drawTickMarksAndLabels(Graphics2D g2, double cursor, Rectangle2D plotArea, Rectangle2D dataArea, RectangleEdge edge)
Draws the axis line, tick marks and tick mark labels.
|
boolean | equals(Object obj)
Tests the axis for equality with an arbitrary object.
|
protected double | findMaximumTickLabelHeight(List ticks, Graphics2D g2, Rectangle2D drawArea, boolean vertical)
A utility method for determining the height of the tallest tick label.
|
protected double | findMaximumTickLabelWidth(List ticks, Graphics2D g2, 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.
|
Range | getDefaultAutoRange()
Returns the default auto range.
|
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.
|
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.
|
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.
|
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, Rectangle2D area, 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, Rectangle2D area, RectangleEdge edge)
Converts a length in data coordinates into the corresponding length in
Java2D coordinates.
|
AxisSpace | reserveSpace(Graphics2D g2, Plot plot, Rectangle2D plotArea, 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 | setDefaultAutoRange(Range range)
Sets the default auto range and sends an AxisChangeEvent to all
registered listeners.
|
void | setDownArrow(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(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(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 | setRange(double lower, double upper)
Sets the axis range and 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(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 | 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 | setRightArrow(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(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, and sends an
AxisChangeEvent to all registered listeners.
|
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, Rectangle2D area, 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.
|
Deprecated: From 1.0.5 onwards, the axis defines a defaultRange attribute (see getDefaultAutoRange).
The default lower bound for the axis.Deprecated: From 1.0.5 onwards, the axis defines a defaultRange attribute (see getDefaultAutoRange).
The default upper bound for the axis.Parameters: label the axis label (null
permitted). standardTickUnits the source for standard tick units
(null
permitted).
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.
Parameters: value the center value.
Returns: A clone.
Throws: CloneNotSupportedException if some component of the axis does not support cloning.
Parameters: g2 the graphics device. cursor the cursor position. dataArea the data area. edge the edge.
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.
Parameters: obj the object (null
permitted).
Returns: true
or false
.
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.
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.
Returns: The minimum range.
See Also: ValueAxis
Returns: The auto tick index.
See Also: ValueAxis
Returns: The default auto range (never null
).
Since: 1.0.5
Returns: A shape (never null
).
See Also: setDownArrow
Returns: The length.
See Also: ValueAxis
Returns: A shape (never null
).
See Also: setLeftArrow
Returns: The lower bound.
See Also: ValueAxis
Returns: The lower margin.
See Also: ValueAxis
Returns: The axis range (never null
).
See Also: setRange
Returns: A shape (never null
).
See Also: setRightArrow
Returns: The source (possibly null
).
See Also: setStandardTickUnits
Returns: A shape (never null
).
See Also: setUpArrow
Returns: The upper bound.
See Also: ValueAxis
Returns: The upper margin.
See Also: ValueAxis
Returns: The flag.
See Also: ValueAxis
Returns: A flag indicating whether or not the tick unit is automatically selected.
See Also: ValueAxis
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.
See Also: ValueAxis
Returns: A boolean.
See Also: ValueAxis
Returns: A boolean.
See Also: ValueAxis
true
if the tick labels should be rotated (to
vertical), and false
otherwise.
Returns: true
or false
.
See Also: ValueAxis
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.
See Also: ValueAxis
Parameters: length the length. area the plot area. edge the edge along which the axis lies.
Returns: The length in Java2D coordinates.
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).
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.
See Also: ValueAxis
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.
See Also: ValueAxis
Parameters: auto the new value of the flag.
See Also: isAutoRange
notify
flag is set,
an AxisChangeEvent is sent to registered listeners.
Parameters: auto the flag. notify notify listeners?
See Also: isAutoRange
Parameters: size the size.
See Also: getAutoRangeMinimumSize
If requested, an AxisChangeEvent is forwarded to all registered listeners.
Parameters: size the new minimum. notify notify listeners?
Parameters: index the new value.
See Also: getAutoTickIndex
Parameters: flag the new value of the flag.
See Also: isAutoTickUnitSelection
Parameters: flag the new value of the flag. notify notify listeners?
See Also: isAutoTickUnitSelection
Parameters: range the range (null
not permitted).
Since: 1.0.5
Parameters: arrow the arrow shape (null
not permitted).
See Also: getDownArrow
Parameters: length the range length.
See Also: getFixedAutoRange
Parameters: flag the flag.
See Also: isInverted
Parameters: arrow the arrow shape (null
not permitted).
See Also: getLeftArrow
Parameters: min the new minimum.
See Also: getLowerBound
Parameters: margin the margin percentage (for example, 0.05 is five percent).
See Also: getLowerMargin ValueAxis
Parameters: visible the flag.
See Also: ValueAxis
Parameters: visible the flag.
See Also: isPositiveArrowVisible
false
.
Parameters: range the range (null
not permitted).
See Also: getRange
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.
See Also: getRange
false
.
Parameters: lower the lower axis limit. upper the upper axis limit.
Parameters: value the central value. length the range length.
Parameters: range the range (null
not permitted).
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.
false
.
Parameters: lower the lower axis limit. upper the upper axis limit.
Parameters: arrow the arrow shape (null
not permitted).
See Also: getRightArrow
Parameters: source the source for standard tick units (null
permitted).
See Also: getStandardTickUnits
Parameters: arrow the arrow shape (null
not permitted).
See Also: getUpArrow
Parameters: max the new maximum.
See Also: getUpperBound
Parameters: margin the margin percentage (for example, 0.05 is five percent).
See Also: getLowerMargin ValueAxis
Parameters: flag the flag.
See Also: isVerticalTickLabels
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.
See Also: ValueAxis
Parameters: lowerPercent the new lower bound. upperPercent the new upper bound.