Package org.jfree.chart.axis
Class SymbolicAxis
java.lang.Object
org.jfree.chart.axis.Axis
org.jfree.chart.axis.ValueAxis
org.jfree.chart.axis.NumberAxis
org.jfree.chart.axis.SymbolicAxis
- All Implemented Interfaces:
Serializable
,Cloneable
,org.jfree.util.PublicCloneable
public class SymbolicAxis extends NumberAxis implements Serializable
A standard linear value axis, for SYMBOLIC values.
- Author:
- Anthony Boulestreau
- See Also:
- Serialized Form
-
Field Summary
Fields Modifier and Type Field Description static Paint
DEFAULT_SYMBOLIC_GRID_LINE_PAINT
The default symbolic grid line 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 SymbolicAxis(String label, String[] sv)
Constructs a symbolic axis, using default attribute values where necessary. -
Method Summary
Modifier and Type Method Description 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).void
drawSymbolicGridLines(Graphics2D g2, Rectangle2D plotArea, Rectangle2D dataArea, org.jfree.ui.RectangleEdge edge, List ticks)
Draws the symbolic grid lines.void
drawSymbolicGridLinesHorizontal(Graphics2D g2, Rectangle2D plotArea, Rectangle2D dataArea, boolean firstGridLineIsDark, List ticks)
Draws the symbolic grid lines.void
drawSymbolicGridLinesVertical(Graphics2D g2, Rectangle2D drawArea, Rectangle2D plotArea, boolean firstGridLineIsDark, List ticks)
Draws the symbolic grid lines.Rectangle2D.Double
getSymbolicGridLine(int position)
Get the symbolic grid line corresponding to the specified position.Paint
getSymbolicGridPaint()
Returns the symbolic grid line color.String[]
getSymbolicValue()
Returns the list of the symbolic values to display.boolean
isGridLinesVisible()
Returnstrue
if the symbolic grid lines are showing, and false otherwise.List
refreshTicks(Graphics2D g2, AxisState state, Rectangle2D plotArea, 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).List
refreshTicksHorizontal(Graphics2D g2, double cursor, Rectangle2D plotArea, 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).List
refreshTicksVertical(Graphics2D g2, double cursor, Rectangle2D plotArea, 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).void
setSymbolicGridLinesVisible(boolean flag)
Sets the visibility of the symbolic grid lines and notifies registered listeners that the axis has been modified.String
valueToString(double value)
Converts a value to a string, using the list of symbolic values.Methods inherited from class org.jfree.chart.axis.NumberAxis
autoRangeIncludesZero, autoRangeStickyZero, calculateHighestVisibleTickValue, calculateLowestVisibleTickValue, calculateVisibleTickCount, clone, configure, createIntegerTickUnits, createIntegerTickUnits, createStandardTickUnits, createStandardTickUnits, equals, getDecimalFormat, getMarkerBand, getNumberFormatOverride, getTickUnit, java2DToValue, setAutoRangeIncludesZero, setAutoRangeStickyZero, setMarkerBand, setNumberFormatOverride, setTickUnit, setTickUnit, stringReplace, translateJava2DToValue, translateValueToJava2D, valueToJava2D
Methods inherited from class org.jfree.chart.axis.ValueAxis
centerRange, getAutoRangeMinimumSize, getDownArrow, getFixedAutoRange, getLeftArrow, getLowerBound, getLowerMargin, getMaximumAxisValue, getMinimumAxisValue, getRange, getRightArrow, getStandardTickUnits, getUpArrow, getUpperBound, getUpperMargin, isAutoRange, isAutoTickUnitSelection, isInverted, isNegativeArrowVisible, isPositiveArrowVisible, isVerticalTickLabels, reserveSpace, resizeRange, resizeRange, setAutoRange, setAutoRangeMinimumSize, setAutoRangeMinimumSize, setAutoTickUnitSelection, setAutoTickUnitSelection, setDownArrow, setFixedAutoRange, setInverted, setLeftArrow, setLowerBound, setLowerMargin, setMaximumAxisValue, setMinimumAxisValue, setNegativeArrowVisible, setPositiveArrowVisible, setRange, setRange, setRange, setRangeAboutValue, setRangeWithMargins, setRangeWithMargins, setRangeWithMargins, setRightArrow, setStandardTickUnits, setUpArrow, setUpperBound, setUpperMargin, setVerticalTickLabels, translateJava2DtoValue, zoomRange
Methods inherited from class org.jfree.chart.axis.Axis
addChangeListener, getAxisLinePaint, getAxisLineStroke, getFixedDimension, getLabel, getLabelAngle, getLabelFont, getLabelInsets, getLabelPaint, getPlot, getTickLabelFont, getTickLabelInsets, getTickLabelPaint, getTickMarkInsideLength, getTickMarkOutsideLength, getTickMarkPaint, getTickMarkStroke, isAxisLineVisible, isTickLabelsVisible, isTickMarksVisible, isVisible, removeChangeListener, setAxisLinePaint, setAxisLineStroke, setAxisLineVisible, setFixedDimension, setLabel, setLabelAngle, setLabelFont, setLabelInsets, setLabelPaint, setPlot, setTickLabelFont, setTickLabelInsets, setTickLabelPaint, setTickLabelsVisible, setTickMarkInsideLength, setTickMarkOutsideLength, setTickMarkPaint, setTickMarkStroke, setTickMarksVisible, setVisible
-
Field Details
-
DEFAULT_SYMBOLIC_GRID_LINE_PAINT
The default symbolic grid line paint.
-
-
Constructor Details
-
SymbolicAxis
Constructs a symbolic axis, using default attribute values where necessary.- Parameters:
label
- the axis label (null permitted).sv
- the list of symbolic values to display instead of the numeric value.
-
-
Method Details
-
getSymbolicValue
Returns the list of the symbolic values to display.- Returns:
- list of symbolic values.
-
getSymbolicGridPaint
Returns the symbolic grid line color.- Returns:
- the grid line color.
-
isGridLinesVisible
public boolean isGridLinesVisible()Returnstrue
if the symbolic grid lines are showing, and false otherwise.- Returns:
- true if the symbolic grid lines are showing, and false otherwise.
-
setSymbolicGridLinesVisible
public void setSymbolicGridLinesVisible(boolean flag)Sets the visibility of the symbolic grid lines and notifies registered listeners that the axis has been modified.- Parameters:
flag
- the new setting.
-
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
).
-
drawSymbolicGridLines
public void drawSymbolicGridLines(Graphics2D g2, Rectangle2D plotArea, Rectangle2D dataArea, org.jfree.ui.RectangleEdge edge, List ticks)Draws the symbolic grid lines.The colors are consecutively the color specified by
symbolicGridPaint
(
DEFAULT_SYMBOLIC_GRID_LINE_PAINT
by default) and white.- Parameters:
g2
- the graphics device.plotArea
- the area within which the chart should be drawn.dataArea
- the area within which the plot should be drawn (a subset of the drawArea).edge
- the axis location.ticks
- the ticks.
-
drawSymbolicGridLinesHorizontal
public void drawSymbolicGridLinesHorizontal(Graphics2D g2, Rectangle2D plotArea, Rectangle2D dataArea, boolean firstGridLineIsDark, List ticks)Draws the symbolic grid lines.The colors are consecutively the color specified by
symbolicGridPaint
(
DEFAULT_SYMBOLIC_GRID_LINE_PAINT
by default) and white. or iffirstGridLineIsDark
istrue
white and the color specified bysymbolicGridPaint
.
- Parameters:
g2
- the graphics device.plotArea
- the area within which the chart should be drawn.dataArea
- the area within which the plot should be drawn (a subset of the drawArea).firstGridLineIsDark
- True: the first symbolic grid line take the color ofsymbolicGridPaint
. False: the first symbolic grid line is white.
ticks
- the ticks.
-
getSymbolicGridLine
Get the symbolic grid line corresponding to the specified position.- Parameters:
position
- position of the grid line, startinf from 0.- Returns:
- the symbolic grid line corresponding to the specified position.
-
refreshTicks
public List refreshTicks(Graphics2D g2, AxisState state, Rectangle2D plotArea, 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.plotArea
- the area in which the plot (inlcuding axes) should be drawn.dataArea
- the area in which the data should be drawn.edge
- the location of the axis.- Returns:
- A list of ticks.
-
refreshTicksHorizontal
public List refreshTicksHorizontal(Graphics2D g2, double cursor, Rectangle2D plotArea, 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).- Parameters:
g2
- the graphics device.cursor
- the cursor position for drawing the axis.plotArea
- the area in which the plot (inlcuding axes) should be drawn.dataArea
- the area in which the data should be drawn.edge
- the location of the axis.- Returns:
- The ticks.
-
refreshTicksVertical
public List refreshTicksVertical(Graphics2D g2, double cursor, Rectangle2D plotArea, 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).- Parameters:
g2
- the graphics device.cursor
- the cursor position for drawing the axis.plotArea
- the area in which the plot and the axes should be drawn.dataArea
- the area in which the plot should be drawn.edge
- the location of the axis.- Returns:
- The ticks.
-
valueToString
Converts a value to a string, using the list of symbolic values.- Parameters:
value
- value to convert.- Returns:
- the symbolic value.
-
drawSymbolicGridLinesVertical
public void drawSymbolicGridLinesVertical(Graphics2D g2, Rectangle2D drawArea, Rectangle2D plotArea, boolean firstGridLineIsDark, List ticks)Draws the symbolic grid lines.The colors are consecutively the color specified by
symbolicGridPaint
(
DEFAULT_SYMBOLIC_GRID_LINE_PAINT
by default) and white. or iffirstGridLineIsDark
istrue
white and the color specified bysymbolicGridPaint
.
- Parameters:
g2
- the graphics device.drawArea
- the area within which the chart should be drawn.plotArea
- the area within which the plot should be drawn (a subset of the drawArea).firstGridLineIsDark
- True: the first symbolic grid line take the color ofsymbolicGridPaint
. False: the first symbolic grid line is white.
ticks
- a list of ticks.
-