com.jrefinery.chart
Class VerticalSymbolicAxis

java.lang.Object
  |
  +--com.jrefinery.chart.Axis
        |
        +--com.jrefinery.chart.ValueAxis
              |
              +--com.jrefinery.chart.NumberAxis
                    |
                    +--com.jrefinery.chart.VerticalNumberAxis
                          |
                          +--com.jrefinery.chart.VerticalSymbolicAxis
All Implemented Interfaces:
AxisConstants, VerticalAxis

public class VerticalSymbolicAxis
extends VerticalNumberAxis
implements VerticalAxis

A standard linear value axis, for SYMBOLIC values displayed vertically.

Author:
AB

Field Summary
static java.awt.Paint DEFAULT_SYMBOLIC_GRID_LINE_PAINT
          The default symbolic grid line paint.
 
Fields inherited from class com.jrefinery.chart.NumberAxis
DEFAULT_AUTO_RANGE_INCLUDES_ZERO, DEFAULT_AUTO_RANGE_STICKY_ZERO, DEFAULT_TICK_UNIT
 
Fields inherited from class com.jrefinery.chart.ValueAxis
DEFAULT_AUTO_RANGE, DEFAULT_AUTO_RANGE_MINIMUM_SIZE, DEFAULT_CROSSHAIR_PAINT, DEFAULT_CROSSHAIR_STROKE, DEFAULT_CROSSHAIR_VISIBLE, DEFAULT_GRID_LINE_PAINT, DEFAULT_GRID_LINE_STROKE, DEFAULT_LOWER_BOUND, DEFAULT_LOWER_MARGIN, DEFAULT_RANGE, DEFAULT_UPPER_BOUND, DEFAULT_UPPER_MARGIN, MAXIMUM_TICK_COUNT
 
Fields inherited from class com.jrefinery.chart.Axis
fixedDimension, label, labelFont, labelInsets, labelPaint, plot, tickLabelFont, tickLabelInsets, tickLabelPaint, tickLabelsVisible, tickMarkPaint, tickMarkStroke, tickMarksVisible, ticks, visible
 
Fields inherited from interface com.jrefinery.chart.AxisConstants
DEFAULT_AXIS_LABEL_FONT, DEFAULT_AXIS_LABEL_INSETS, DEFAULT_AXIS_LABEL_PAINT, DEFAULT_TICK_LABEL_FONT, DEFAULT_TICK_LABEL_INSETS, DEFAULT_TICK_LABEL_PAINT, DEFAULT_TICK_PAINT, DEFAULT_TICK_STROKE
 
Constructor Summary
VerticalSymbolicAxis(java.lang.String label, java.lang.String[] sv)
          Constructs a vertical symbolic axis, using default attribute values where necessary.
VerticalSymbolicAxis(java.lang.String label, java.lang.String[] sv, java.awt.Font labelFont, boolean symbolicGridLinesVisible, java.awt.Paint symbolicGridPaint)
          Constructs a vertical symbolic axis, using default attribute values where necessary.
VerticalSymbolicAxis(java.lang.String label, java.lang.String[] sv, java.awt.Font labelFont, java.awt.Paint labelPaint, java.awt.Insets labelInsets, boolean labelDrawnVertical, boolean tickLabelsVisible, java.awt.Font tickLabelFont, java.awt.Paint tickLabelPaint, java.awt.Insets tickLabelInsets, boolean tickMarksVisible, java.awt.Stroke tickMarkStroke, java.awt.Paint tickMarkPaint, boolean autoRange, java.lang.Number autoRangeMinimumSize, boolean autoRangeIncludesZero, boolean autoRangeStickyZero, double lowerBound, double upperBound, boolean inverted, boolean autoTickUnitSelection, NumberTickUnit tickUnit, boolean gridLinesVisible, java.awt.Stroke gridStroke, java.awt.Paint gridPaint, double anchorValue, boolean crosshairVisible, double crosshairValue, java.awt.Stroke crosshairStroke, java.awt.Paint crosshairPaint, boolean symbolicGridLinesVisible, java.awt.Paint symbolicGridPaint)
          Constructs a vertical symbolic axis.
 
Method Summary
protected  void autoAdjustRange()
          Rescales the axis to ensure that all data is visible.
 void draw(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D drawArea, java.awt.geom.Rectangle2D plotArea)
          Draws the plot on a Java 2D graphics device (such as the screen or a printer).
 void drawSymbolicGridLines(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D drawArea, java.awt.geom.Rectangle2D plotArea)
          Draws the symbolic grid lines.
 void drawSymbolicGridLines(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D drawArea, java.awt.geom.Rectangle2D plotArea, boolean firstGridLineIsDark)
          Draws the symbolic grid lines.
 java.awt.geom.Rectangle2D.Double getSymbolicGridLine(int position)
          Get the symbolic grid line corresponding to the specified position.
 java.awt.Paint getSymbolicGridPaint()
          Returns the symbolic grid line color.
 java.lang.String[] getSymbolicValue()
          Returns the list of the symbolic values to display.
 boolean isGridLinesVisible()
          Returns true if the symbolic grid lines are showing, and false otherwise.
protected  void selectAutoTickUnit(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D drawArea, java.awt.geom.Rectangle2D plotArea)
          This operation is not supported by the symbolic values
 void setAnchoredRange(double range)
          Redefinition of setAnchoredRange for the symbolicvalues.
 void setSymbolicGridLinesVisible(boolean flag)
          Sets the visibility of the symbolic grid lines and notifies registered listeners that the axis has been modified.
 java.lang.String valueToString(double value)
          Converts a value to a string, using the list of symbolic values.
 
Methods inherited from class com.jrefinery.chart.VerticalNumberAxis
configure, isCompatiblePlot, isVerticalLabel, refreshTicks, reserveAxisArea, reserveWidth, setVerticalLabel, translateJava2DtoValue, translateValueToJava2D
 
Methods inherited from class com.jrefinery.chart.NumberAxis
autoRangeIncludesZero, autoRangeStickyZero, calculateHighestVisibleTickValue, calculateLowestVisibleTickValue, calculateVisibleTickCount, createIntegerTickUnits, createIntegerTickUnits, createStandardTickUnits, createStandardTickUnits, getTickUnit, isInverted, setAutoRangeIncludesZero, setAutoRangeStickyZero, setInverted, setTickUnit, setTickUnitAttribute
 
Methods inherited from class com.jrefinery.chart.ValueAxis
centerRange, getAnchorValue, getAutoRangeMinimumSize, getAutoTickIndex, getCrosshairPaint, getCrosshairStroke, getCrosshairValue, getFixedAutoRange, getGridPaint, getGridStroke, getLowerMargin, getMaximumAxisValue, getMinimumAxisValue, getRange, getStandardTickUnits, getUpperMargin, isAutoRange, isAutoTickUnitSelection, isCrosshairLockedOnData, isCrosshairVisible, resizeRange, resizeRange, setAnchorValue, setAnchorValueAttribute, setAutoRange, setAutoRangeAttribute, setAutoRangeMinimumSize, setAutoRangeMinimumSizeAttribute, setAutoTickIndex, setAutoTickUnitSelection, setAutoTickUnitSelectionAttribute, setCrosshairLockedOnData, setCrosshairPaint, setCrosshairStroke, setCrosshairValue, setCrosshairValue, setCrosshairValueAttribute, setCrosshairVisible, setFixedAutoRange, setGridLinesVisible, setGridPaint, setGridStroke, setLowerMargin, setMaximumAxisValue, setMinimumAxisValue, setRange, setRange, setRangeAboutValue, setRangeAttribute, setStandardTickUnits, setUpperMargin
 
Methods inherited from class com.jrefinery.chart.Axis
addChangeListener, getFixedDimension, getLabel, getLabelFont, getLabelInsets, getLabelPaint, getMaxTickLabelWidth, getPlot, getTickLabelFont, getTickLabelInsets, getTickLabelPaint, getTickMarkPaint, getTickMarkStroke, isTickLabelsVisible, isTickMarksVisible, isVisible, notifyListeners, removeChangeListener, setFixedDimension, setLabel, setLabelFont, setLabelInsets, setLabelPaint, setPlot, setTickLabelFont, setTickLabelInsets, setTickLabelPaint, setTickLabelsVisible, setTickMarkPaint, setTickMarkStroke, setTickMarksVisible, setVisible
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.jrefinery.chart.VerticalAxis
reserveAxisArea, reserveWidth
 

Field Detail

DEFAULT_SYMBOLIC_GRID_LINE_PAINT

public static final java.awt.Paint DEFAULT_SYMBOLIC_GRID_LINE_PAINT
The default symbolic grid line paint.
Constructor Detail

VerticalSymbolicAxis

public VerticalSymbolicAxis(java.lang.String label,
                            java.lang.String[] sv)
Constructs a vertical symbolic axis, using default attribute values where necessary.
Parameters:
label - the axis label (null permitted).
sv - the list of symbolic value to display instead of the numeric value.

VerticalSymbolicAxis

public VerticalSymbolicAxis(java.lang.String label,
                            java.lang.String[] sv,
                            java.awt.Font labelFont,
                            boolean symbolicGridLinesVisible,
                            java.awt.Paint symbolicGridPaint)
Constructs a vertical symbolic axis, using default attribute values where necessary.
Parameters:
label - the axis label (null permitted).
sv - the list of symbolic value to display instead of the numeric value.
labelFont - the font for displaying the axis label.
symbolicGridLinesVisible - flag that indicates whether or not symbolic grid lines are visible.
symbolicGridPaint - color of the dark part of the symbolic grid line.

VerticalSymbolicAxis

public VerticalSymbolicAxis(java.lang.String label,
                            java.lang.String[] sv,
                            java.awt.Font labelFont,
                            java.awt.Paint labelPaint,
                            java.awt.Insets labelInsets,
                            boolean labelDrawnVertical,
                            boolean tickLabelsVisible,
                            java.awt.Font tickLabelFont,
                            java.awt.Paint tickLabelPaint,
                            java.awt.Insets tickLabelInsets,
                            boolean tickMarksVisible,
                            java.awt.Stroke tickMarkStroke,
                            java.awt.Paint tickMarkPaint,
                            boolean autoRange,
                            java.lang.Number autoRangeMinimumSize,
                            boolean autoRangeIncludesZero,
                            boolean autoRangeStickyZero,
                            double lowerBound,
                            double upperBound,
                            boolean inverted,
                            boolean autoTickUnitSelection,
                            NumberTickUnit tickUnit,
                            boolean gridLinesVisible,
                            java.awt.Stroke gridStroke,
                            java.awt.Paint gridPaint,
                            double anchorValue,
                            boolean crosshairVisible,
                            double crosshairValue,
                            java.awt.Stroke crosshairStroke,
                            java.awt.Paint crosshairPaint,
                            boolean symbolicGridLinesVisible,
                            java.awt.Paint symbolicGridPaint)
Constructs a vertical symbolic axis.
Parameters:
label - the axis label(null permitted).
sv - the list of symbolic value to display instead of the numeric value.
labelFont - the font for displaying the axis label.
labelPaint - the paint used to draw the axis label.
labelInsets - determines the amount of blank space around the label.
labelDrawnVertical - flag indicating whether or not the label is drawn vertically.
tickLabelsVisible - flag indicating whether or not tick labels are visible.
tickLabelFont - the font used to display tick labels.
tickLabelPaint - the paint used to draw tick labels.
tickLabelInsets - determines the amount of blank space around tick labels.
tickMarksVisible - flag indicating whether or not tick marks are visible.
tickMarkStroke - the stroke used to draw tick marks (if visible).
tickMarkPaint - the paint used to draw tick marks (if visible).
autoRange - flag indicating whether or not the axis is automatically scaled to fit the data.
autoRangeMinimumSize - the smallest range allowed when the axis range is calculated to fit the data.
autoRangeIncludesZero - a flag indicating whether or not zero *must* be displayed on axis.
autoRangeStickyZero - a flag that affects the size of the margins added to the axis range when the range is determined automatically. If the value 0 falls within the margin and this flag is true, then the margin is truncated at zero.
lowerBound - the lowest value shown on the axis.
upperBound - the highest value shown on the axis.
inverted - a flag indicating whether the axis is normal or inverted (inverted means running from positive to negative).
autoTickUnitSelection - a flag indicating whether or not the tick units are selected automatically.
tickUnit - the tick unit.
gridLinesVisible - flag indicating whether or not grid lines are visible for this axis.
gridStroke - the pen/brush used to display grid lines (if visible).
gridPaint - the color used to display grid lines (if visible).
anchorValue - the anchor value.
crosshairVisible - a flag indicating whether or not a crosshair is visible.
crosshairValue - the value at which to draw an optional crosshair (null permitted).
crosshairStroke - the pen/brush used to draw the crosshair.
crosshairPaint - the color used to draw the crosshair.
symbolicGridLinesVisible - flag that indicates whether or not symbolic grid lines are visible.
symbolicGridPaint - color of the dark part of the symbolic grid line.
Method Detail

getSymbolicValue

public java.lang.String[] getSymbolicValue()
Returns the list of the symbolic values to display.
Returns:
list of symbolic values.

getSymbolicGridPaint

public java.awt.Paint getSymbolicGridPaint()
Returns the symbolic grid line color.
Returns:
the grid line color.

isGridLinesVisible

public boolean isGridLinesVisible()
Returns true if the symbolic grid lines are showing, and false otherwise.
Overrides:
isGridLinesVisible in class ValueAxis
Returns:
true if the symbolic grid lines are showing.

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.

valueToString

public java.lang.String valueToString(double value)
Converts a value to a string, using the list of symbolic values.
Parameters:
value - value to convert.
Returns:
the symbolic value.

setAnchoredRange

public void setAnchoredRange(double range)
Redefinition of setAnchoredRange for the symbolicvalues.
Overrides:
setAnchoredRange in class ValueAxis
Parameters:
range - the new range.

selectAutoTickUnit

protected void selectAutoTickUnit(java.awt.Graphics2D g2,
                                  java.awt.geom.Rectangle2D drawArea,
                                  java.awt.geom.Rectangle2D plotArea)
This operation is not supported by the symbolic values
Overrides:
selectAutoTickUnit in class VerticalNumberAxis
Parameters:
g2 - the graphics device.
drawArea - the area in which the plot and axes should be drawn.
plotArea - the area in which the plot should be drawn.

draw

public void draw(java.awt.Graphics2D g2,
                 java.awt.geom.Rectangle2D drawArea,
                 java.awt.geom.Rectangle2D plotArea)
Draws the plot on a Java 2D graphics device (such as the screen or a printer).
Overrides:
draw in class VerticalNumberAxis
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).

drawSymbolicGridLines

public void drawSymbolicGridLines(java.awt.Graphics2D g2,
                                  java.awt.geom.Rectangle2D drawArea,
                                  java.awt.geom.Rectangle2D plotArea)
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.
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).

drawSymbolicGridLines

public void drawSymbolicGridLines(java.awt.Graphics2D g2,
                                  java.awt.geom.Rectangle2D drawArea,
                                  java.awt.geom.Rectangle2D plotArea,
                                  boolean firstGridLineIsDark)
Draws the symbolic grid lines.

The colors are consecutively the color specified by symbolicGridPaint (DEFAULT_SYMBOLIC_GRID_LINE_PAINT by default) and white. or if firstGridLineIsDark is true white and the color specified by symbolicGridPaint.

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 of symbolicGridPaint. False: the first symbolic grid line is white.

getSymbolicGridLine

public java.awt.geom.Rectangle2D.Double getSymbolicGridLine(int position)
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.

autoAdjustRange

protected void autoAdjustRange()
Rescales the axis to ensure that all data is visible.
Overrides:
autoAdjustRange in class VerticalNumberAxis