public class

PeriodAxis

extends ValueAxis
implements Serializable Cloneable
java.lang.Object
   ↳ org.jfree.chart.axis.Axis
     ↳ org.jfree.chart.axis.ValueAxis
       ↳ org.jfree.chart.axis.PeriodAxis

Class Overview

An axis that displays a date scale based on a RegularTimePeriod. This axis works when displayed across the bottom or top of a plot, but is broken for display at the left or right of charts.

Summary

[Expand]
Inherited Constants
From class org.jfree.chart.axis.ValueAxis
From class org.jfree.chart.axis.Axis
[Expand]
Inherited Fields
From class org.jfree.chart.axis.ValueAxis
From class org.jfree.chart.axis.Axis
Public Constructors
PeriodAxis(String label)
Creates a new axis.
PeriodAxis(String label, RegularTimePeriod first, RegularTimePeriod last)
Creates a new axis.
PeriodAxis(String label, RegularTimePeriod first, RegularTimePeriod last, TimeZone timeZone)
This constructor is deprecated. As of version 1.0.13, you should use the constructor that specifies a Locale also.
PeriodAxis(String label, RegularTimePeriod first, RegularTimePeriod last, TimeZone timeZone, Locale locale)
Creates a new axis.
Public Methods
Object clone()
Returns a clone of the axis.
void configure()
Configures the axis to work with the current plot.
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 the axis for equality with an arbitrary object.
Class getAutoRangeTimePeriodClass()
Returns the class used to create the first and last time periods for the axis range when the auto-range flag is set to true.
RegularTimePeriod getFirst()
Returns the first time period in the axis range.
PeriodAxisLabelInfo[] getLabelInfo()
Returns an array of label info records.
RegularTimePeriod getLast()
Returns the last time period in the axis range.
Locale getLocale()
Returns the locale for this axis.
Class getMajorTickTimePeriodClass()
Returns the class that controls the spacing of the major tick marks.
float getMinorTickMarkInsideLength()
Returns the inside length for the minor tick marks.
float getMinorTickMarkOutsideLength()
Returns the outside length for the minor tick marks.
Paint getMinorTickMarkPaint()
Returns the paint used to display minor tick marks, if they are visible.
Stroke getMinorTickMarkStroke()
Returns the stroke used to display minor tick marks, if they are visible.
Class getMinorTickTimePeriodClass()
Returns the class that controls the spacing of the minor tick marks.
TimeZone getTimeZone()
Returns the time zone used to convert the periods defining the axis range into absolute milliseconds.
int hashCode()
Returns a hash code for this object.
boolean isMinorTickMarksVisible()
Returns the flag that controls whether or not minor tick marks are displayed for the axis.
double java2DToValue(double java2DValue, Rectangle2D area, 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.
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).
AxisSpace reserveSpace(Graphics2D g2, Plot plot, Rectangle2D plotArea, RectangleEdge edge, AxisSpace space)
Estimates the space (height or width) required to draw the axis.
void setAutoRangeTimePeriodClass(Class c)
Sets the class used to create the first and last time periods for the axis range when the auto-range flag is set to true and sends an AxisChangeEvent to all registered listeners.
void setFirst(RegularTimePeriod first)
Sets the first time period in the axis range and sends an AxisChangeEvent to all registered listeners.
void setLabelInfo(PeriodAxisLabelInfo[] info)
Sets the array of label info records and sends an AxisChangeEvent to all registered listeners.
void setLast(RegularTimePeriod last)
Sets the last time period in the axis range and sends an AxisChangeEvent to all registered listeners.
void setMajorTickTimePeriodClass(Class c)
Sets the class that controls the spacing of the major tick marks, 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 setMinorTickMarkPaint(Paint paint)
Sets the paint used to display minor tick marks, if they are visible, and sends a AxisChangeEvent to all registered listeners.
void setMinorTickMarkStroke(Stroke stroke)
Sets the stroke used to display minor tick marks, if they are visible, and sends a AxisChangeEvent to all registered listeners.
void setMinorTickMarksVisible(boolean visible)
Sets the flag that controls whether or not minor tick marks are displayed for the axis, and sends a AxisChangeEvent to all registered listeners.
void setMinorTickTimePeriodClass(Class c)
Sets the class that controls the spacing of the minor tick marks, and sends an AxisChangeEvent to all registered listeners.
void setRange(Range range, boolean turnOffAutoRange, boolean notify)
Sets the range for the axis, if requested, sends an AxisChangeEvent to all registered listeners.
void setTimeZone(TimeZone zone)
Sets the time zone that is used to convert the time periods into absolute milliseconds.
double valueToJava2D(double value, Rectangle2D area, RectangleEdge edge)
Converts a data value to a coordinate in Java2D space, assuming that the axis runs along one edge of the specified dataArea.
Protected Methods
void autoAdjustRange()
Rescales the axis to ensure that all data is visible.
AxisState drawTickLabels(int band, Graphics2D g2, AxisState state, Rectangle2D dataArea, RectangleEdge edge)
Draws the tick labels for one "band" of time periods.
void drawTickMarks(Graphics2D g2, AxisState state, Rectangle2D dataArea, RectangleEdge edge)
Draws the tick marks for the axis.
void drawTickMarksHorizontal(Graphics2D g2, AxisState state, Rectangle2D dataArea, RectangleEdge edge)
Draws the major and minor tick marks for an axis that lies at the top or bottom of the plot.
void drawTickMarksVertical(Graphics2D g2, AxisState state, Rectangle2D dataArea, RectangleEdge edge)
Draws the tick marks for a vertical axis.
[Expand]
Inherited Methods
From class org.jfree.chart.axis.ValueAxis
From class org.jfree.chart.axis.Axis
From class java.lang.Object

Public Constructors

public PeriodAxis (String label)

Creates a new axis.

Parameters
label the axis label.

public PeriodAxis (String label, RegularTimePeriod first, RegularTimePeriod last)

Creates a new axis.

Parameters
label the axis label (null permitted).
first the first time period in the axis range (null not permitted).
last the last time period in the axis range (null not permitted).

public PeriodAxis (String label, RegularTimePeriod first, RegularTimePeriod last, TimeZone timeZone)

This constructor is deprecated.
As of version 1.0.13, you should use the constructor that specifies a Locale also.

Creates a new axis.

Parameters
label the axis label (null permitted).
first the first time period in the axis range (null not permitted).
last the last time period in the axis range (null not permitted).
timeZone the time zone (null not permitted).

public PeriodAxis (String label, RegularTimePeriod first, RegularTimePeriod last, TimeZone timeZone, Locale locale)

Creates a new axis.

Parameters
label the axis label (null permitted).
first the first time period in the axis range (null not permitted).
last the last time period in the axis range (null not permitted).
timeZone the time zone (null not permitted).
locale the locale (null not permitted).

Public Methods

public Object clone ()

Returns a clone of the axis.

Returns
  • A clone.
Throws
CloneNotSupportedException this class is cloneable, but subclasses may not be.

public void configure ()

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

public 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 the axis for equality with an arbitrary object.

Parameters
obj the object (null permitted).
Returns
  • A boolean.

public Class getAutoRangeTimePeriodClass ()

Returns the class used to create the first and last time periods for the axis range when the auto-range flag is set to true.

Returns
  • The class (never null).

public RegularTimePeriod getFirst ()

Returns the first time period in the axis range.

Returns
  • The first time period (never null).

public PeriodAxisLabelInfo[] getLabelInfo ()

Returns an array of label info records.

Returns
  • An array.

public RegularTimePeriod getLast ()

Returns the last time period in the axis range.

Returns
  • The last time period (never null).

public Locale getLocale ()

Returns the locale for this axis.

Returns
  • The locale (never (null).

public Class getMajorTickTimePeriodClass ()

Returns the class that controls the spacing of the major tick marks.

Returns
  • The class (never null).

public float getMinorTickMarkInsideLength ()

Returns the inside length for the minor tick marks.

Returns
  • The length.

public float getMinorTickMarkOutsideLength ()

Returns the outside length for the minor tick marks.

Returns
  • The length.

public Paint getMinorTickMarkPaint ()

Returns the paint used to display minor tick marks, if they are visible.

Returns
  • A paint (never null).

public Stroke getMinorTickMarkStroke ()

Returns the stroke used to display minor tick marks, if they are visible.

Returns
  • A stroke (never null).

public Class getMinorTickTimePeriodClass ()

Returns the class that controls the spacing of the minor tick marks.

Returns
  • The class (never null).

public TimeZone getTimeZone ()

Returns the time zone used to convert the periods defining the axis range into absolute milliseconds.

Returns
  • The time zone (never null).

public int hashCode ()

Returns a hash code for this object.

Returns
  • A hash code.

public boolean isMinorTickMarksVisible ()

Returns the flag that controls whether or not minor tick marks are displayed for the axis.

Returns
  • A boolean.

public double java2DToValue (double java2DValue, Rectangle2D area, 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.

Parameters
java2DValue the coordinate in Java2D space.
area the area in which the data is plotted.
edge the edge along which the axis lies.
Returns
  • The data value.

public 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 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 setAutoRangeTimePeriodClass (Class c)

Sets the class used to create the first and last time periods for the axis range when the auto-range flag is set to true and sends an AxisChangeEvent to all registered listeners.

Parameters
c the class (null not permitted).

public void setFirst (RegularTimePeriod first)

Sets the first time period in the axis range and sends an AxisChangeEvent to all registered listeners.

Parameters
first the time period (null not permitted).

public void setLabelInfo (PeriodAxisLabelInfo[] info)

Sets the array of label info records and sends an AxisChangeEvent to all registered listeners.

Parameters
info the info.

public void setLast (RegularTimePeriod last)

Sets the last time period in the axis range and sends an AxisChangeEvent to all registered listeners.

Parameters
last the time period (null not permitted).

public void setMajorTickTimePeriodClass (Class c)

Sets the class that controls the spacing of the major tick marks, and sends an AxisChangeEvent to all registered listeners.

Parameters
c the class (a subclass of RegularTimePeriod is expected).

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 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 length.

public void setMinorTickMarkPaint (Paint paint)

Sets the paint used to display minor tick marks, if they are visible, and sends a AxisChangeEvent to all registered listeners.

Parameters
paint the paint (null not permitted).

public void setMinorTickMarkStroke (Stroke stroke)

Sets the stroke used to display minor tick marks, if they are visible, and sends a AxisChangeEvent to all registered listeners.

Parameters
stroke the stroke (null not permitted).

public void setMinorTickMarksVisible (boolean visible)

Sets the flag that controls whether or not minor tick marks are displayed for the axis, and sends a AxisChangeEvent to all registered listeners.

Parameters
visible the flag.

public void setMinorTickTimePeriodClass (Class c)

Sets the class that controls the spacing of the minor tick marks, and sends an AxisChangeEvent to all registered listeners.

Parameters
c the class (a subclass of RegularTimePeriod is expected).

public void setRange (Range range, boolean turnOffAutoRange, boolean notify)

Sets the range for the axis, if requested, sends an AxisChangeEvent to all registered listeners. As a side-effect, the auto-range flag is set to false (optional).

Parameters
range the range (null not permitted).
turnOffAutoRange a flag that controls whether or not the auto range is turned off.
notify a flag that controls whether or not listeners are notified.

public void setTimeZone (TimeZone zone)

Sets the time zone that is used to convert the time periods into absolute milliseconds.

Parameters
zone the time zone (null not permitted).

public double valueToJava2D (double value, Rectangle2D area, RectangleEdge edge)

Converts a data value to a coordinate in Java2D space, assuming that the axis runs along one edge of the specified dataArea.

Note that it is possible for the coordinate to fall outside the area.

Parameters
value the data value.
area the area for plotting the data.
edge the edge along which the axis lies.
Returns
  • The Java2D coordinate.

Protected Methods

protected void autoAdjustRange ()

Rescales the axis to ensure that all data is visible.

protected AxisState drawTickLabels (int band, Graphics2D g2, AxisState state, Rectangle2D dataArea, RectangleEdge edge)

Draws the tick labels for one "band" of time periods.

Parameters
band the band index (zero-based).
g2 the graphics device.
state the axis state.
dataArea the data area.
edge the edge where the axis is located.
Returns
  • The updated axis state.

protected void drawTickMarks (Graphics2D g2, AxisState state, Rectangle2D dataArea, RectangleEdge edge)

Draws the tick marks for the axis.

Parameters
g2 the graphics device.
state the axis state.
dataArea the data area.
edge the edge.

protected void drawTickMarksHorizontal (Graphics2D g2, AxisState state, Rectangle2D dataArea, RectangleEdge edge)

Draws the major and minor tick marks for an axis that lies at the top or bottom of the plot.

Parameters
g2 the graphics device.
state the axis state.
dataArea the data area.
edge the edge.

protected void drawTickMarksVertical (Graphics2D g2, AxisState state, Rectangle2D dataArea, RectangleEdge edge)

Draws the tick marks for a vertical axis.

Parameters
g2 the graphics device.
state the axis state.
dataArea the data area.
edge the edge.