Package org.jfree.chart.axis
Class SymbolAxis
- java.lang.Object
-
- org.jfree.chart.axis.Axis
-
- org.jfree.chart.axis.ValueAxis
-
- org.jfree.chart.axis.NumberAxis
-
- org.jfree.chart.axis.SymbolAxis
-
- All Implemented Interfaces:
Serializable
,Cloneable
,org.jfree.util.PublicCloneable
public class SymbolAxis extends NumberAxis implements Serializable
A standard linear value axis that replaces integer values with symbols.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static Paint
DEFAULT_GRID_BAND_ALTERNATE_PAINT
The default paint for alternate grid bands.static Paint
DEFAULT_GRID_BAND_PAINT
The default grid band paint.-
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 Description SymbolAxis(String label, String[] sv)
Constructs a symbol axis, using default attribute values where necessary.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
autoAdjustRange()
Rescales the axis to ensure that all data is visible.AxisState
draw(Graphics2D g2, double cursor, Rectangle2D plotArea, 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).protected void
drawGridBands(Graphics2D g2, Rectangle2D plotArea, Rectangle2D dataArea, org.jfree.ui.RectangleEdge edge, List ticks)
Draws the grid bands.protected void
drawGridBandsHorizontal(Graphics2D g2, Rectangle2D plotArea, Rectangle2D dataArea, boolean firstGridBandIsDark, List ticks)
Draws the grid bands for the axis when it is at the top or bottom of the plot.protected void
drawGridBandsVertical(Graphics2D g2, Rectangle2D plotArea, Rectangle2D dataArea, boolean firstGridBandIsDark, List ticks)
Draws the grid bands for an axis that is aligned to the left or right of the data area (that is, a vertical axis).boolean
equals(Object obj)
Tests this axis for equality with an arbitrary object.Paint
getGridBandAlternatePaint()
Returns the paint used for alternate grid bands.Paint
getGridBandPaint()
Returns the paint used to color the grid bands.String[]
getSymbols()
Returns an array of the symbols for the axis.boolean
isGridBandsVisible()
Returnstrue
if the grid bands are showing, andfalse
otherwise.List
refreshTicks(Graphics2D g2, AxisState state, 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 List
refreshTicksHorizontal(Graphics2D g2, 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 List
refreshTicksVertical(Graphics2D g2, 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(Graphics2D g2, Rectangle2D dataArea, org.jfree.ui.RectangleEdge edge)
This operation is not supported by this axis.void
setGridBandAlternatePaint(Paint paint)
Sets the paint used for alternate grid bands and sends aAxisChangeEvent
to all registered listeners.void
setGridBandPaint(Paint paint)
Sets the grid band paint and sends anAxisChangeEvent
to all registered listeners.void
setGridBandsVisible(boolean flag)
Sets the visibility of the grid bands and notifies registered listeners that the axis has been modified.String
valueToString(double value)
Converts a value to a string, using the list of symbols.-
Methods inherited from class org.jfree.chart.axis.NumberAxis
calculateHighestVisibleTickValue, calculateLowestVisibleTickValue, calculateVisibleTickCount, clone, configure, createIntegerTickUnits, createIntegerTickUnits, createStandardTickUnits, createStandardTickUnits, estimateMaximumTickLabelHeight, estimateMaximumTickLabelWidth, getAutoRangeIncludesZero, getAutoRangeStickyZero, getMarkerBand, getNumberFormatOverride, getRangeType, getTickUnit, hashCode, java2DToValue, selectHorizontalAutoTickUnit, selectVerticalAutoTickUnit, setAutoRangeIncludesZero, setAutoRangeStickyZero, setMarkerBand, setNumberFormatOverride, setRangeType, setTickUnit, setTickUnit, valueToJava2D
-
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, lengthToJava2D, pan, reserveSpace, resizeRange, resizeRange, 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, createAttributedLabel, drawAttributedLabel, drawLabel, fireChangeEvent, getAttributedLabel, getAxisLinePaint, getAxisLineStroke, getFixedDimension, getLabel, getLabelAngle, getLabelEnclosure, getLabelFont, getLabelInsets, getLabelLocation, getLabelPaint, getMinorTickMarkInsideLength, getMinorTickMarkOutsideLength, getPlot, getTickLabelFont, getTickLabelInsets, getTickLabelPaint, getTickMarkInsideLength, getTickMarkOutsideLength, getTickMarkPaint, getTickMarkStroke, hasListener, isAxisLineVisible, isMinorTickMarksVisible, isTickLabelsVisible, isTickMarksVisible, isVisible, labelAnchorH, labelAnchorV, labelLocationX, labelLocationY, notifyListeners, removeChangeListener, setAttributedLabel, setAttributedLabel, setAxisLinePaint, setAxisLineStroke, setAxisLineVisible, setFixedDimension, setLabel, setLabelAngle, setLabelFont, setLabelInsets, setLabelInsets, setLabelLocation, setLabelPaint, setMinorTickMarkInsideLength, setMinorTickMarkOutsideLength, setMinorTickMarksVisible, setPlot, setTickLabelFont, setTickLabelInsets, setTickLabelPaint, setTickLabelsVisible, setTickMarkInsideLength, setTickMarkOutsideLength, setTickMarkPaint, setTickMarkStroke, setTickMarksVisible, setVisible
-
-
-
-
Method Detail
-
getSymbols
public String[] getSymbols()
Returns an array of the symbols for the axis.- Returns:
- The symbols.
-
isGridBandsVisible
public boolean isGridBandsVisible()
Returnstrue
if the grid bands are showing, andfalse
otherwise.- Returns:
true
if the grid bands are showing, andfalse
otherwise.- See Also:
setGridBandsVisible(boolean)
-
setGridBandsVisible
public void setGridBandsVisible(boolean flag)
Sets the visibility of the grid bands and notifies registered listeners that the axis has been modified.- Parameters:
flag
- the new setting.- See Also:
isGridBandsVisible()
-
getGridBandPaint
public Paint getGridBandPaint()
Returns the paint used to color the grid bands.- Returns:
- The grid band paint (never
null
). - See Also:
setGridBandPaint(Paint)
,isGridBandsVisible()
-
setGridBandPaint
public void setGridBandPaint(Paint paint)
Sets the grid band paint and sends anAxisChangeEvent
to all registered listeners.- Parameters:
paint
- the paint (null
not permitted).- See Also:
getGridBandPaint()
-
getGridBandAlternatePaint
public Paint getGridBandAlternatePaint()
Returns the paint used for alternate grid bands.- Returns:
- The paint (never
null
). - Since:
- 1.0.7
- See Also:
setGridBandAlternatePaint(Paint)
,getGridBandPaint()
-
setGridBandAlternatePaint
public void setGridBandAlternatePaint(Paint paint)
Sets the paint used for alternate grid bands and sends aAxisChangeEvent
to all registered listeners.- Parameters:
paint
- the paint (null
not permitted).- Since:
- 1.0.7
- See Also:
getGridBandAlternatePaint()
,setGridBandPaint(Paint)
-
selectAutoTickUnit
protected void selectAutoTickUnit(Graphics2D g2, Rectangle2D dataArea, org.jfree.ui.RectangleEdge edge)
This operation is not supported by this axis.- Overrides:
selectAutoTickUnit
in classNumberAxis
- Parameters:
g2
- the graphics device.dataArea
- the area in which the plot and axes should be drawn.edge
- the edge along which the axis is drawn.
-
draw
public AxisState draw(Graphics2D g2, double cursor, Rectangle2D plotArea, 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).- Overrides:
draw
in classNumberAxis
- Parameters:
g2
- the graphics device (null
not permitted).cursor
- the cursor location.plotArea
- the area within which the plot and axes should be drawn (null
not permitted).dataArea
- the area within which the data should be drawn (null
not permitted).edge
- the axis location (null
not permitted).plotState
- collects information about the plot (null
permitted).- Returns:
- The axis state (never
null
).
-
drawGridBands
protected void drawGridBands(Graphics2D g2, Rectangle2D plotArea, Rectangle2D dataArea, org.jfree.ui.RectangleEdge edge, List ticks)
Draws the grid bands. Alternate bands are colored usinggridBandPaint
(DEFAULT_GRID_BAND_PAINT
by default).- Parameters:
g2
- the graphics target (null
not permitted).plotArea
- the area within which the plot is drawn (null
not permitted).dataArea
- the data area to which the axes are aligned (null
not permitted).edge
- the edge to which the axis is aligned (null
not permitted).ticks
- the ticks (null
not permitted).
-
drawGridBandsHorizontal
protected void drawGridBandsHorizontal(Graphics2D g2, Rectangle2D plotArea, Rectangle2D dataArea, boolean firstGridBandIsDark, List ticks)
Draws the grid bands for the axis when it is at the top or bottom of the plot.- Parameters:
g2
- the graphics target (null
not permitted).plotArea
- the area within which the plot is drawn (not used here).dataArea
- the area for the data (to which the axes are aligned,null
not permitted).firstGridBandIsDark
- True: the first grid band takes the color ofgridBandPaint
. False: the second grid band takes the color ofgridBandPaint
.ticks
- a list of ticks (null
not permitted).
-
drawGridBandsVertical
protected void drawGridBandsVertical(Graphics2D g2, Rectangle2D plotArea, Rectangle2D dataArea, boolean firstGridBandIsDark, List ticks)
Draws the grid bands for an axis that is aligned to the left or right of the data area (that is, a vertical axis).- Parameters:
g2
- the graphics target (null
not permitted).plotArea
- the area within which the plot is drawn (not used here).dataArea
- the area for the data (to which the axes are aligned,null
not permitted).firstGridBandIsDark
- True: the first grid band takes the color ofgridBandPaint
. False: the second grid band takes the color ofgridBandPaint
.ticks
- a list of ticks (null
not permitted).
-
autoAdjustRange
protected void autoAdjustRange()
Rescales the axis to ensure that all data is visible.- Overrides:
autoAdjustRange
in classNumberAxis
-
refreshTicks
public List refreshTicks(Graphics2D g2, AxisState state, 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).- Overrides:
refreshTicks
in classNumberAxis
- Parameters:
g2
- the graphics device.state
- the axis state.dataArea
- the area in which the data should be drawn.edge
- the location of the axis.- Returns:
- A list of ticks.
-
refreshTicksHorizontal
protected List refreshTicksHorizontal(Graphics2D g2, 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).- Overrides:
refreshTicksHorizontal
in classNumberAxis
- Parameters:
g2
- the graphics device.dataArea
- the area in which the data should be drawn.edge
- the location of the axis.- Returns:
- The ticks.
-
refreshTicksVertical
protected List refreshTicksVertical(Graphics2D g2, 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).- Overrides:
refreshTicksVertical
in classNumberAxis
- Parameters:
g2
- the graphics device.dataArea
- the area in which the plot should be drawn.edge
- the location of the axis.- Returns:
- The ticks.
-
valueToString
public String valueToString(double value)
Converts a value to a string, using the list of symbols.- Parameters:
value
- value to convert.- Returns:
- The symbol.
-
equals
public boolean equals(Object obj)
Tests this axis for equality with an arbitrary object.- Overrides:
equals
in classNumberAxis
- Parameters:
obj
- the object (null
permitted).- Returns:
- A boolean.
-
-