|
Header
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jfree.chart.axis.Axis
org.jfree.chart.axis.ValueAxis
org.jfree.chart.axis.NumberAxis
public class NumberAxis
An axis for displaying numerical data.
If the axis is set up to automatically determine its range to fit the data,
you can ensure that the range includes zero (statisticians usually prefer
this) by setting the autoRangeIncludesZero
flag to
true
.
The NumberAxis
class has a mechanism for automatically
selecting a tick unit that is appropriate for the current axis range. This
mechanism is an adaptation of code suggested by Laurence Vanhelsuwe.
Field Summary | |
---|---|
static boolean |
DEFAULT_AUTO_RANGE_INCLUDES_ZERO
The default value for the autoRangeIncludesZero flag. |
static boolean |
DEFAULT_AUTO_RANGE_STICKY_ZERO
The default value for the autoRangeStickyZero flag. |
static NumberTickUnit |
DEFAULT_TICK_UNIT
The default tick unit. |
static boolean |
DEFAULT_VERTICAL_TICK_LABELS
The default setting for the vertical tick labels flag. |
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 |
Constructor Summary | |
---|---|
NumberAxis()
Default constructor. |
|
NumberAxis(java.lang.String label)
Constructs a number axis, using default values where necessary. |
Method Summary | |
---|---|
protected void |
autoAdjustRange()
Rescales the axis to ensure that all data is visible. |
protected double |
calculateHighestVisibleTickValue()
Calculates the value of the highest visible tick on the axis. |
protected double |
calculateLowestVisibleTickValue()
Calculates the value of the lowest visible tick on the axis. |
protected int |
calculateVisibleTickCount()
Calculates the number of visible ticks. |
java.lang.Object |
clone()
Returns a clone of the axis. |
void |
configure()
Configures the axis to work with the specified plot. |
static TickUnitSource |
createIntegerTickUnits()
Returns a collection of tick units for integer values. |
static TickUnitSource |
createIntegerTickUnits(java.util.Locale locale)
Returns a collection of tick units for integer values. |
static TickUnitSource |
createStandardTickUnits()
Creates the standard tick units. |
static TickUnitSource |
createStandardTickUnits(java.util.Locale locale)
Creates a collection of standard tick units. |
AxisState |
draw(java.awt.Graphics2D g2,
double cursor,
java.awt.geom.Rectangle2D plotArea,
java.awt.geom.Rectangle2D dataArea,
org.jfree.ui.RectangleEdge edge,
PlotRenderingInfo plotState)
Draws the axis on a Java 2D graphics device (such as the screen or a printer). |
boolean |
equals(java.lang.Object obj)
Tests the axis for equality with an arbitrary object. |
protected double |
estimateMaximumTickLabelHeight(java.awt.Graphics2D g2)
Estimates the maximum tick label height. |
protected double |
estimateMaximumTickLabelWidth(java.awt.Graphics2D g2,
TickUnit unit)
Estimates the maximum width of the tick labels, assuming the specified tick unit is used. |
boolean |
getAutoRangeIncludesZero()
Returns the flag that indicates whether or not the automatic axis range (if indeed it is determined automatically) is forced to include zero. |
boolean |
getAutoRangeStickyZero()
Returns a flag that affects the auto-range when zero falls outside the data range but inside the margins defined for the axis. |
MarkerAxisBand |
getMarkerBand()
Returns the (optional) marker band for the axis. |
java.text.NumberFormat |
getNumberFormatOverride()
Returns the number format override. |
RangeType |
getRangeType()
Returns the axis range type. |
NumberTickUnit |
getTickUnit()
Returns the tick unit for the axis. |
int |
hashCode()
Returns a hash code for this object. |
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. |
java.util.List |
refreshTicks(java.awt.Graphics2D g2,
AxisState state,
java.awt.geom.Rectangle2D dataArea,
org.jfree.ui.RectangleEdge edge)
Calculates the positions of the tick labels for the axis, storing the results in the tick label list (ready for drawing). |
protected java.util.List |
refreshTicksHorizontal(java.awt.Graphics2D g2,
java.awt.geom.Rectangle2D dataArea,
org.jfree.ui.RectangleEdge edge)
Calculates the positions of the tick labels for the axis, storing the results in the tick label list (ready for drawing). |
protected java.util.List |
refreshTicksVertical(java.awt.Graphics2D g2,
java.awt.geom.Rectangle2D dataArea,
org.jfree.ui.RectangleEdge edge)
Calculates the positions of the tick labels for the axis, storing the results in the tick label list (ready for drawing). |
protected void |
selectAutoTickUnit(java.awt.Graphics2D g2,
java.awt.geom.Rectangle2D dataArea,
org.jfree.ui.RectangleEdge edge)
Selects an appropriate tick value for the axis. |
protected void |
selectHorizontalAutoTickUnit(java.awt.Graphics2D g2,
java.awt.geom.Rectangle2D dataArea,
org.jfree.ui.RectangleEdge edge)
Selects an appropriate tick value for the axis. |
protected void |
selectVerticalAutoTickUnit(java.awt.Graphics2D g2,
java.awt.geom.Rectangle2D dataArea,
org.jfree.ui.RectangleEdge edge)
Selects an appropriate tick value for the axis. |
void |
setAutoRangeIncludesZero(boolean flag)
Sets the flag that indicates whether or not the axis range, if automatically calculated, is forced to include zero. |
void |
setAutoRangeStickyZero(boolean flag)
Sets a flag that affects the auto-range when zero falls outside the data range but inside the margins defined for the axis. |
void |
setMarkerBand(MarkerAxisBand band)
Sets the marker band for the axis. |
void |
setNumberFormatOverride(java.text.NumberFormat formatter)
Sets the number format override. |
void |
setRangeType(RangeType rangeType)
Sets the axis range type. |
void |
setTickUnit(NumberTickUnit unit)
Sets the tick unit for the axis and sends an AxisChangeEvent to
all registered listeners. |
void |
setTickUnit(NumberTickUnit unit,
boolean notify,
boolean turnOffAutoSelect)
Sets the tick unit for the axis and, if requested, sends an AxisChangeEvent to all registered listeners. |
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. |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final boolean DEFAULT_AUTO_RANGE_INCLUDES_ZERO
public static final boolean DEFAULT_AUTO_RANGE_STICKY_ZERO
public static final NumberTickUnit DEFAULT_TICK_UNIT
public static final boolean DEFAULT_VERTICAL_TICK_LABELS
Constructor Detail |
---|
public NumberAxis()
public NumberAxis(java.lang.String label)
label
- the axis label (null
permitted).Method Detail |
---|
public RangeType getRangeType()
null
).setRangeType(RangeType)
public void setRangeType(RangeType rangeType)
rangeType
- the range type (null
not permitted).getRangeType()
public boolean getAutoRangeIncludesZero()
public void setAutoRangeIncludesZero(boolean flag)
If the flag is changed to true
, the axis range is
recalculated.
Any change to the flag will trigger an AxisChangeEvent
.
flag
- the new value of the flag.getAutoRangeIncludesZero()
public boolean getAutoRangeStickyZero()
setAutoRangeStickyZero(boolean)
public void setAutoRangeStickyZero(boolean flag)
flag
- the new flag.getAutoRangeStickyZero()
public NumberTickUnit getTickUnit()
Note: if the autoTickUnitSelection
flag is
true
the tick unit may be changed while the axis is being
drawn, so in that case the return value from this method may be
irrelevant if the method is called before the axis has been drawn.
setTickUnit(NumberTickUnit)
,
ValueAxis.isAutoTickUnitSelection()
public void setTickUnit(NumberTickUnit unit)
AxisChangeEvent
to
all registered listeners. A side effect of calling this method is that
the "auto-select" feature for tick units is switched off (you can
restore it using the ValueAxis.setAutoTickUnitSelection(boolean)
method).
unit
- the new tick unit (null
not permitted).getTickUnit()
,
setTickUnit(NumberTickUnit, boolean, boolean)
public void setTickUnit(NumberTickUnit unit, boolean notify, boolean turnOffAutoSelect)
AxisChangeEvent
to all registered listeners. In addition, an
option is provided to turn off the "auto-select" feature for tick units
(you can restore it using the
ValueAxis.setAutoTickUnitSelection(boolean)
method).
unit
- the new tick unit (null
not permitted).notify
- notify listeners?turnOffAutoSelect
- turn off the auto-tick selection?public java.text.NumberFormat getNumberFormatOverride()
null
).setNumberFormatOverride(NumberFormat)
public void setNumberFormatOverride(java.text.NumberFormat formatter)
formatter
- the number formatter (null
permitted).getNumberFormatOverride()
public MarkerAxisBand getMarkerBand()
null
).setMarkerBand(MarkerAxisBand)
public void setMarkerBand(MarkerAxisBand band)
The marker band is optional, leave it set to null
if you
don't require it.
band
- the new band (null permitted).- See Also:
getMarkerBand()
public void configure()
configure
in class Axis
protected void autoAdjustRange()
autoAdjustRange
in class ValueAxis
public double valueToJava2D(double value, java.awt.geom.Rectangle2D area, org.jfree.ui.RectangleEdge edge)
Note that it is possible for the coordinate to fall outside the plotArea.
valueToJava2D
in class ValueAxis
value
- the data value.area
- the area for plotting the data.edge
- the axis location.
java2DToValue(double, Rectangle2D, RectangleEdge)
public double java2DToValue(double java2DValue, java.awt.geom.Rectangle2D area, org.jfree.ui.RectangleEdge edge)
java2DToValue
in class ValueAxis
java2DValue
- the coordinate in Java2D space.area
- the area in which the data is plotted.edge
- the location.
valueToJava2D(double, Rectangle2D, RectangleEdge)
protected double calculateLowestVisibleTickValue()
calculateHighestVisibleTickValue()
protected double calculateHighestVisibleTickValue()
calculateLowestVisibleTickValue()
protected int calculateVisibleTickCount()
public AxisState draw(java.awt.Graphics2D g2, double cursor, java.awt.geom.Rectangle2D plotArea, java.awt.geom.Rectangle2D dataArea, org.jfree.ui.RectangleEdge edge, PlotRenderingInfo plotState)
draw
in class Axis
g2
- the graphics device (null
not permitted).cursor
- the cursor location.plotArea
- the area within which the axes and data should be drawn
(null
not permitted).dataArea
- the area within which the data should be drawn
(null
not permitted).edge
- the location of the axis (null
not permitted).plotState
- collects information about the plot
(null
permitted).
null
).public static TickUnitSource createStandardTickUnits()
If you don't like these defaults, create your own instance of TickUnits and then pass it to the setStandardTickUnits() method in the NumberAxis class.
ValueAxis.setStandardTickUnits(TickUnitSource)
,
createIntegerTickUnits()
public static TickUnitSource createIntegerTickUnits()
ValueAxis.setStandardTickUnits(TickUnitSource)
,
createStandardTickUnits()
public static TickUnitSource createStandardTickUnits(java.util.Locale locale)
NumberFormat
).
If you don't like these defaults, create your own instance of
TickUnits
and then pass it to the
setStandardTickUnits()
method.
locale
- the locale.
ValueAxis.setStandardTickUnits(TickUnitSource)
public static TickUnitSource createIntegerTickUnits(java.util.Locale locale)
locale
- the locale to use to represent Numbers.
ValueAxis.setStandardTickUnits(TickUnitSource)
protected double estimateMaximumTickLabelHeight(java.awt.Graphics2D g2)
g2
- the graphics device.
protected double estimateMaximumTickLabelWidth(java.awt.Graphics2D g2, TickUnit unit)
Rather than computing the string bounds of every tick on the axis, we just look at two values: the lower bound and the upper bound for the axis. These two values will usually be representative.
g2
- the graphics device.unit
- the tick unit to use for calculation.
protected void selectAutoTickUnit(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, org.jfree.ui.RectangleEdge edge)
g2
- the graphics device.dataArea
- the area defined by the axes.edge
- the axis location.protected void selectHorizontalAutoTickUnit(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, org.jfree.ui.RectangleEdge edge)
g2
- the graphics device.dataArea
- the area defined by the axes.edge
- the axis location.protected void selectVerticalAutoTickUnit(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, org.jfree.ui.RectangleEdge edge)
g2
- the graphics device.dataArea
- the area in which the plot should be drawn.edge
- the axis location.public java.util.List refreshTicks(java.awt.Graphics2D g2, AxisState state, java.awt.geom.Rectangle2D dataArea, org.jfree.ui.RectangleEdge edge)
refreshTicks
in class Axis
g2
- the graphics device.state
- the axis state.dataArea
- the area in which the plot should be drawn.edge
- the location of the axis.
protected java.util.List refreshTicksHorizontal(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, org.jfree.ui.RectangleEdge edge)
g2
- the graphics device.dataArea
- the area in which the data should be drawn.edge
- the location of the axis.
protected java.util.List refreshTicksVertical(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, org.jfree.ui.RectangleEdge edge)
g2
- the graphics device.dataArea
- the area in which the plot should be drawn.edge
- the location of the axis.
public java.lang.Object clone() throws java.lang.CloneNotSupportedException
clone
in interface org.jfree.util.PublicCloneable
clone
in class ValueAxis
java.lang.CloneNotSupportedException
- if some component of the axis does
not support cloning.public boolean equals(java.lang.Object obj)
equals
in class ValueAxis
obj
- the object (null
permitted).
public int hashCode()
hashCode
in class java.lang.Object
|
Footer
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |