public abstract class

Axis

extends Object
implements Serializable Cloneable
java.lang.Object
   ↳ org.jfree.chart.axis.Axis
Known Direct Subclasses
Known Indirect Subclasses

Class Overview

The base class for all axes in JFreeChart. Subclasses are divided into those that display values (ValueAxis) and those that display categories (CategoryAxis).

Summary

Constants
boolean DEFAULT_AXIS_VISIBLE The default axis visibility.
boolean DEFAULT_TICK_LABELS_VISIBLE The default tick labels visibility.
boolean DEFAULT_TICK_MARKS_VISIBLE The default tick marks visible.
float DEFAULT_TICK_MARK_INSIDE_LENGTH The default tick mark inside length.
float DEFAULT_TICK_MARK_OUTSIDE_LENGTH The default tick mark outside length.
Fields
public static final Font DEFAULT_AXIS_LABEL_FONT The default axis label font.
public static final RectangleInsets DEFAULT_AXIS_LABEL_INSETS The default axis label insets.
public static final Paint DEFAULT_AXIS_LABEL_PAINT The default axis label paint.
public static final Paint DEFAULT_AXIS_LINE_PAINT The default axis line paint.
public static final Stroke DEFAULT_AXIS_LINE_STROKE The default axis line stroke.
public static final Font DEFAULT_TICK_LABEL_FONT The default tick label font.
public static final RectangleInsets DEFAULT_TICK_LABEL_INSETS The default tick label insets.
public static final Paint DEFAULT_TICK_LABEL_PAINT The default tick label paint.
public static final Paint DEFAULT_TICK_MARK_PAINT The default tick paint.
public static final Stroke DEFAULT_TICK_MARK_STROKE The default tick stroke.
Protected Constructors
Axis(String label)
Constructs an axis, using default values where necessary.
Public Methods
void addChangeListener(AxisChangeListener listener)
Registers an object for notification of changes to the axis.
Object clone()
Returns a clone of the axis.
abstract void configure()
Configures the axis to work with the current plot.
abstract AxisState draw(Graphics2D g2, double cursor, Rectangle2D plotArea, Rectangle2D dataArea, RectangleEdge edge, PlotRenderingInfo plotState)
Draws the axis on a Java 2D graphics device (such as the screen or a printer).
boolean equals(Object obj)
Tests this axis for equality with another object.
Paint getAxisLinePaint()
Returns the paint used to draw the axis line.
Stroke getAxisLineStroke()
Returns the stroke used to draw the axis line.
double getFixedDimension()
Returns the fixed dimension for the axis.
String getLabel()
Returns the label for the axis.
double getLabelAngle()
Returns the angle of the axis label.
Font getLabelFont()
Returns the font for the axis label.
RectangleInsets getLabelInsets()
Returns the insets for the label (that is, the amount of blank space that should be left around the label).
Paint getLabelPaint()
Returns the color/shade used to draw the axis label.
float getMinorTickMarkInsideLength()
Returns the inside length of the minor tick marks.
float getMinorTickMarkOutsideLength()
Returns the outside length of the minor tick marks.
Plot getPlot()
Returns the plot that the axis is assigned to.
Font getTickLabelFont()
Returns the font used for the tick labels (if showing).
RectangleInsets getTickLabelInsets()
Returns the insets for the tick labels.
Paint getTickLabelPaint()
Returns the color/shade used for the tick labels.
float getTickMarkInsideLength()
Returns the inside length of the tick marks.
float getTickMarkOutsideLength()
Returns the outside length of the tick marks.
Paint getTickMarkPaint()
Returns the paint used to draw tick marks (if they are showing).
Stroke getTickMarkStroke()
Returns the stroke used to draw tick marks.
boolean hasListener(EventListener listener)
Returns true if the specified object is registered with the dataset as a listener.
boolean isAxisLineVisible()
A flag that controls whether or not the axis line is drawn.
boolean isMinorTickMarksVisible()
Returns the flag that indicates whether or not the minor tick marks are showing.
boolean isTickLabelsVisible()
Returns a flag indicating whether or not the tick labels are visible.
boolean isTickMarksVisible()
Returns the flag that indicates whether or not the tick marks are showing.
boolean isVisible()
Returns true if the axis is visible, and false otherwise.
abstract List refreshTicks(Graphics2D g2, AxisState state, Rectangle2D dataArea, RectangleEdge edge)
Calculates the positions of the ticks for the axis, storing the results in the tick list (ready for drawing).
void removeChangeListener(AxisChangeListener listener)
Deregisters an object for notification of changes to the axis.
abstract AxisSpace reserveSpace(Graphics2D g2, Plot plot, Rectangle2D plotArea, RectangleEdge edge, AxisSpace space)
Estimates the space (height or width) required to draw the axis.
void setAxisLinePaint(Paint paint)
Sets the paint used to draw the axis line and sends an AxisChangeEvent to all registered listeners.
void setAxisLineStroke(Stroke stroke)
Sets the stroke used to draw the axis line and sends an AxisChangeEvent to all registered listeners.
void setAxisLineVisible(boolean visible)
Sets a flag that controls whether or not the axis line is visible and sends an AxisChangeEvent to all registered listeners.
void setFixedDimension(double dimension)
Sets the fixed dimension for the axis.
void setLabel(String label)
Sets the label for the axis and sends an AxisChangeEvent to all registered listeners.
void setLabelAngle(double angle)
Sets the angle for the label and sends an AxisChangeEvent to all registered listeners.
void setLabelFont(Font font)
Sets the font for the axis label and sends an AxisChangeEvent to all registered listeners.
void setLabelInsets(RectangleInsets insets)
Sets the insets for the axis label, and sends an AxisChangeEvent to all registered listeners.
void setLabelInsets(RectangleInsets insets, boolean notify)
Sets the insets for the axis label, and sends an AxisChangeEvent to all registered listeners.
void setLabelPaint(Paint paint)
Sets the paint used to draw the axis label and sends an AxisChangeEvent to all registered listeners.
void setMinorTickMarkInsideLength(float length)
Sets the inside length of the minor tick marks and sends an AxisChangeEvent to all registered listeners.
void setMinorTickMarkOutsideLength(float length)
Sets the outside length of the minor tick marks and sends an AxisChangeEvent to all registered listeners.
void setMinorTickMarksVisible(boolean flag)
Sets the flag that indicates whether or not the minor tick marks are showing and sends an AxisChangeEvent to all registered listeners.
void setPlot(Plot plot)
Sets a reference to the plot that the axis is assigned to.
void setTickLabelFont(Font font)
Sets the font for the tick labels and sends an AxisChangeEvent to all registered listeners.
void setTickLabelInsets(RectangleInsets insets)
Sets the insets for the tick labels and sends an AxisChangeEvent to all registered listeners.
void setTickLabelPaint(Paint paint)
Sets the paint used to draw tick labels (if they are showing) and sends an AxisChangeEvent to all registered listeners.
void setTickLabelsVisible(boolean flag)
Sets the flag that determines whether or not the tick labels are visible and sends an AxisChangeEvent to all registered listeners.
void setTickMarkInsideLength(float length)
Sets the inside length of the tick marks and sends an AxisChangeEvent to all registered listeners.
void setTickMarkOutsideLength(float length)
Sets the outside length of the tick marks and sends an AxisChangeEvent to all registered listeners.
void setTickMarkPaint(Paint paint)
Sets the paint used to draw tick marks and sends an AxisChangeEvent to all registered listeners.
void setTickMarkStroke(Stroke stroke)
Sets the stroke used to draw tick marks and sends an AxisChangeEvent to all registered listeners.
void setTickMarksVisible(boolean flag)
Sets the flag that indicates whether or not the tick marks are showing and sends an AxisChangeEvent to all registered listeners.
void setVisible(boolean flag)
Sets a flag that controls whether or not the axis is visible and sends an AxisChangeEvent to all registered listeners.
Protected Methods
void createAndAddEntity(double cursor, AxisState state, Rectangle2D dataArea, RectangleEdge edge, PlotRenderingInfo plotState)
Created an entity for the axis.
void drawAxisLine(Graphics2D g2, double cursor, Rectangle2D dataArea, RectangleEdge edge)
Draws an axis line at the current cursor position and edge.
AxisState drawLabel(String label, Graphics2D g2, Rectangle2D plotArea, Rectangle2D dataArea, RectangleEdge edge, AxisState state)
Draws the axis label.
void fireChangeEvent()
Sends an AxisChangeEvent to all registered listeners.
Rectangle2D getLabelEnclosure(Graphics2D g2, RectangleEdge edge)
Returns a rectangle that encloses the axis label.
void notifyListeners(AxisChangeEvent event)
Notifies all registered listeners that the axis has changed.
[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final boolean DEFAULT_AXIS_VISIBLE

The default axis visibility.

Constant Value: true

public static final boolean DEFAULT_TICK_LABELS_VISIBLE

The default tick labels visibility.

Constant Value: true

public static final boolean DEFAULT_TICK_MARKS_VISIBLE

The default tick marks visible.

Constant Value: true

public static final float DEFAULT_TICK_MARK_INSIDE_LENGTH

The default tick mark inside length.

Constant Value: 0.0

public static final float DEFAULT_TICK_MARK_OUTSIDE_LENGTH

The default tick mark outside length.

Constant Value: 2.0

Fields

public static final Font DEFAULT_AXIS_LABEL_FONT

The default axis label font.

public static final RectangleInsets DEFAULT_AXIS_LABEL_INSETS

The default axis label insets.

public static final Paint DEFAULT_AXIS_LABEL_PAINT

The default axis label paint.

public static final Paint DEFAULT_AXIS_LINE_PAINT

The default axis line paint.

public static final Stroke DEFAULT_AXIS_LINE_STROKE

The default axis line stroke.

public static final Font DEFAULT_TICK_LABEL_FONT

The default tick label font.

public static final RectangleInsets DEFAULT_TICK_LABEL_INSETS

The default tick label insets.

public static final Paint DEFAULT_TICK_LABEL_PAINT

The default tick label paint.

public static final Paint DEFAULT_TICK_MARK_PAINT

The default tick paint.

public static final Stroke DEFAULT_TICK_MARK_STROKE

The default tick stroke.

Protected Constructors

protected Axis (String label)

Constructs an axis, using default values where necessary.

Parameters
label the axis label (null permitted).

Public Methods

public void addChangeListener (AxisChangeListener listener)

Registers an object for notification of changes to the axis.

Parameters
listener the object that is being registered.

public Object clone ()

Returns a clone of the axis.

Returns
  • A clone.
Throws
CloneNotSupportedException if some component of the axis does not support cloning.

public abstract void configure ()

Configures the axis to work with the current plot. Override this method to perform any special processing (such as auto-rescaling).

public abstract AxisState draw (Graphics2D g2, double cursor, Rectangle2D plotArea, Rectangle2D dataArea, RectangleEdge edge, PlotRenderingInfo plotState)

Draws the axis on a Java 2D graphics device (such as the screen or a printer).

Parameters
g2 the graphics device (null not permitted).
cursor the cursor location (determines where to draw the axis).
plotArea the area within which the axes and plot should be drawn.
dataArea the area within which the data should be drawn.
edge the axis location (null not permitted).
plotState collects information about the plot (null permitted).
Returns
  • The axis state (never null).

public boolean equals (Object obj)

Tests this axis for equality with another object.

Parameters
obj the object (null permitted).
Returns
  • true or false.

public Paint getAxisLinePaint ()

Returns the paint used to draw the axis line.

Returns
  • The paint (never null).

public Stroke getAxisLineStroke ()

Returns the stroke used to draw the axis line.

Returns
  • The stroke (never null).

public double getFixedDimension ()

Returns the fixed dimension for the axis.

Returns
  • The fixed dimension.

public String getLabel ()

Returns the label for the axis.

Returns
  • The label for the axis (null possible).

public double getLabelAngle ()

Returns the angle of the axis label.

Returns
  • The angle (in radians).

public Font getLabelFont ()

Returns the font for the axis label.

Returns
  • The font (never null).

public RectangleInsets getLabelInsets ()

Returns the insets for the label (that is, the amount of blank space that should be left around the label).

Returns
  • The label insets (never null).

public Paint getLabelPaint ()

Returns the color/shade used to draw the axis label.

Returns
  • The paint (never null).

public float getMinorTickMarkInsideLength ()

Returns the inside length of the minor tick marks.

Returns
  • The length.

public float getMinorTickMarkOutsideLength ()

Returns the outside length of the minor tick marks.

Returns
  • The length.

public Plot getPlot ()

Returns the plot that the axis is assigned to. This method will return null if the axis is not currently assigned to a plot.

Returns
  • The plot that the axis is assigned to (possibly null).
See Also

public Font getTickLabelFont ()

Returns the font used for the tick labels (if showing).

Returns
  • The font (never null).

public RectangleInsets getTickLabelInsets ()

Returns the insets for the tick labels.

Returns
  • The insets (never null).

public Paint getTickLabelPaint ()

Returns the color/shade used for the tick labels.

Returns
  • The paint used for the tick labels.

public float getTickMarkInsideLength ()

Returns the inside length of the tick marks.

Returns
  • The length.

public float getTickMarkOutsideLength ()

Returns the outside length of the tick marks.

Returns
  • The length.

public Paint getTickMarkPaint ()

Returns the paint used to draw tick marks (if they are showing).

Returns
  • The paint (never null).

public Stroke getTickMarkStroke ()

Returns the stroke used to draw tick marks.

Returns
  • The stroke (never null).

public boolean hasListener (EventListener listener)

Returns true if the specified object is registered with the dataset as a listener. Most applications won't need to call this method, it exists mainly for use by unit testing code.

Parameters
listener the listener.
Returns
  • A boolean.

public boolean isAxisLineVisible ()

A flag that controls whether or not the axis line is drawn.

Returns
  • A boolean.

public boolean isMinorTickMarksVisible ()

Returns the flag that indicates whether or not the minor tick marks are showing.

Returns
  • The flag that indicates whether or not the minor tick marks are showing.

public boolean isTickLabelsVisible ()

Returns a flag indicating whether or not the tick labels are visible.

Returns
  • The flag.

public boolean isTickMarksVisible ()

Returns the flag that indicates whether or not the tick marks are showing.

Returns
  • The flag that indicates whether or not the tick marks are showing.

public boolean isVisible ()

Returns true if the axis is visible, and false otherwise.

Returns
  • A boolean.

public abstract List refreshTicks (Graphics2D g2, AxisState state, Rectangle2D dataArea, RectangleEdge edge)

Calculates the positions of the ticks for the axis, storing the results in the tick list (ready for drawing).

Parameters
g2 the graphics device.
state the axis state.
dataArea the area inside the axes.
edge the edge on which the axis is located.
Returns
  • The list of ticks.

public void removeChangeListener (AxisChangeListener listener)

Deregisters an object for notification of changes to the axis.

Parameters
listener the object to deregister.

public abstract AxisSpace reserveSpace (Graphics2D g2, Plot plot, Rectangle2D plotArea, RectangleEdge edge, AxisSpace space)

Estimates the space (height or width) required to draw the axis.

Parameters
g2 the graphics device.
plot the plot that the axis belongs to.
plotArea the area within which the plot (including axes) should be drawn.
edge the axis location.
space space already reserved.
Returns
  • The space required to draw the axis (including pre-reserved space).

public void setAxisLinePaint (Paint paint)

Sets the paint used to draw the axis line and sends an AxisChangeEvent to all registered listeners.

Parameters
paint the paint (null not permitted).

public void setAxisLineStroke (Stroke stroke)

Sets the stroke used to draw the axis line and sends an AxisChangeEvent to all registered listeners.

Parameters
stroke the stroke (null not permitted).

public void setAxisLineVisible (boolean visible)

Sets a flag that controls whether or not the axis line is visible and sends an AxisChangeEvent to all registered listeners.

Parameters
visible the flag.

public void setFixedDimension (double dimension)

Sets the fixed dimension for the axis.

This is used when combining more than one plot on a chart. In this case, there may be several axes that need to have the same height or width so that they are aligned. This method is used to fix a dimension for the axis (the context determines whether the dimension is horizontal or vertical).

Parameters
dimension the fixed dimension.

public void setLabel (String label)

Sets the label for the axis and sends an AxisChangeEvent to all registered listeners.

Parameters
label the new label (null permitted).

public void setLabelAngle (double angle)

Sets the angle for the label and sends an AxisChangeEvent to all registered listeners.

Parameters
angle the angle (in radians).
See Also

public void setLabelFont (Font font)

Sets the font for the axis label and sends an AxisChangeEvent to all registered listeners.

Parameters
font the font (null not permitted).
See Also

public void setLabelInsets (RectangleInsets insets)

Sets the insets for the axis label, and sends an AxisChangeEvent to all registered listeners.

Parameters
insets the insets (null not permitted).
See Also

public void setLabelInsets (RectangleInsets insets, boolean notify)

Sets the insets for the axis label, and sends an AxisChangeEvent to all registered listeners.

Parameters
insets the insets (null not permitted).
notify notify listeners?

public void setLabelPaint (Paint paint)

Sets the paint used to draw the axis label and sends an AxisChangeEvent to all registered listeners.

Parameters
paint the paint (null not permitted).
See Also

public void setMinorTickMarkInsideLength (float length)

Sets the inside length of the minor tick marks and sends an AxisChangeEvent to all registered listeners.

Parameters
length the new length.

public void setMinorTickMarkOutsideLength (float length)

Sets the outside length of the minor tick marks and sends an AxisChangeEvent to all registered listeners.

Parameters
length the new length.

public void setMinorTickMarksVisible (boolean flag)

Sets the flag that indicates whether or not the minor tick marks are showing and sends an AxisChangeEvent to all registered listeners.

Parameters
flag the flag.

public void setPlot (Plot plot)

Sets a reference to the plot that the axis is assigned to.

This method is used internally, you shouldn't need to call it yourself.

Parameters
plot the plot.
See Also

public void setTickLabelFont (Font font)

Sets the font for the tick labels and sends an AxisChangeEvent to all registered listeners.

Parameters
font the font (null not allowed).

public void setTickLabelInsets (RectangleInsets insets)

Sets the insets for the tick labels and sends an AxisChangeEvent to all registered listeners.

Parameters
insets the insets (null not permitted).

public void setTickLabelPaint (Paint paint)

Sets the paint used to draw tick labels (if they are showing) and sends an AxisChangeEvent to all registered listeners.

Parameters
paint the paint (null not permitted).

public void setTickLabelsVisible (boolean flag)

Sets the flag that determines whether or not the tick labels are visible and sends an AxisChangeEvent to all registered listeners.

Parameters
flag the flag.

public void setTickMarkInsideLength (float length)

Sets the inside length of the tick marks and sends an AxisChangeEvent to all registered listeners.

Parameters
length the new length.

public void setTickMarkOutsideLength (float length)

Sets the outside length of the tick marks and sends an AxisChangeEvent to all registered listeners.

Parameters
length the new length.

public void setTickMarkPaint (Paint paint)

Sets the paint used to draw tick marks and sends an AxisChangeEvent to all registered listeners.

Parameters
paint the paint (null not permitted).

public void setTickMarkStroke (Stroke stroke)

Sets the stroke used to draw tick marks and sends an AxisChangeEvent to all registered listeners.

Parameters
stroke the stroke (null not permitted).

public void setTickMarksVisible (boolean flag)

Sets the flag that indicates whether or not the tick marks are showing and sends an AxisChangeEvent to all registered listeners.

Parameters
flag the flag.

public void setVisible (boolean flag)

Sets a flag that controls whether or not the axis is visible and sends an AxisChangeEvent to all registered listeners.

Parameters
flag the flag.
See Also

Protected Methods

protected void createAndAddEntity (double cursor, AxisState state, Rectangle2D dataArea, RectangleEdge edge, PlotRenderingInfo plotState)

Created an entity for the axis.

Parameters
cursor the initial cursor value.
state the axis state after completion of the drawing with a possibly updated cursor position.
dataArea the data area.
edge the edge.
plotState the PlotRenderingInfo from which a reference to the entity collection can be obtained.

protected void drawAxisLine (Graphics2D g2, double cursor, Rectangle2D dataArea, RectangleEdge edge)

Draws an axis line at the current cursor position and edge.

Parameters
g2 the graphics device.
cursor the cursor position.
dataArea the data area.
edge the edge.

protected AxisState drawLabel (String label, Graphics2D g2, Rectangle2D plotArea, Rectangle2D dataArea, RectangleEdge edge, AxisState state)

Draws the axis label.

Parameters
label the label text.
g2 the graphics device.
plotArea the plot area.
dataArea the area inside the axes.
edge the location of the axis.
state the axis state (null not permitted).
Returns
  • Information about the axis.

protected void fireChangeEvent ()

Sends an AxisChangeEvent to all registered listeners.

protected Rectangle2D getLabelEnclosure (Graphics2D g2, RectangleEdge edge)

Returns a rectangle that encloses the axis label. This is typically used for layout purposes (it gives the maximum dimensions of the label).

Parameters
g2 the graphics device.
edge the edge of the plot area along which the axis is measuring.
Returns
  • The enclosing rectangle.

protected void notifyListeners (AxisChangeEvent event)

Notifies all registered listeners that the axis has changed. The AxisChangeEvent provides information about the change.

Parameters
event information about the change to the axis.