Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
org.jfree.chart.axis.Axis
org.jfree.chart.axis.ValueAxis
org.jfree.chart.axis.DateAxis
DateFormat
instance.
You can also create a Timeline
and supply in
the constructor to create an axis that only contains certain domain values.
For example, this allows you to create a date axis that only contains
working days.
Field Summary | |
static Date |
|
static double |
|
static DateRange |
|
static DateTickUnit |
|
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 |
Constructor Summary | |
| |
| |
|
Method Summary | |
protected void |
|
Date |
|
Date |
|
Object |
|
void |
|
static TickUnitSource |
|
static TickUnitSource |
|
double |
|
AxisState |
|
boolean |
|
DateFormat |
|
Date |
|
Date |
|
DateTickMarkPosition |
|
DateTickUnit |
|
TimeZone |
|
Timeline |
|
int |
|
boolean |
|
double |
|
protected Date |
|
protected Date |
|
List |
|
protected List |
|
protected List |
|
protected void |
|
protected void |
|
protected void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
double |
|
void |
|
public static final double DEFAULT_AUTO_RANGE_MINIMUM_SIZE_IN_MILLISECONDS
The default minimum auto range size.
- Field Value:
- 2.0
public static final DateTickUnit DEFAULT_DATE_TICK_UNIT
The default date tick unit.
public DateAxis(String label)
Creates a date axis with the specified label.
- Parameters:
label
- the axis label (null
permitted).
public DateAxis(String label, TimeZone zone)
Creates a date axis. A timeline is specified for the axis. This allows special transformations to occur between a domain of values and the values included in the axis.
- Parameters:
label
- the axis label (null
permitted).zone
- the time zone.
- See Also:
SegmentedTimeline
protected void autoAdjustRange()
Rescales the axis to ensure that all data is visible.
- Overrides:
- autoAdjustRange in interface ValueAxis
public Date calculateHighestVisibleTickValue(DateTickUnit unit)
Calculates the value of the highest visible tick on the axis.
- Parameters:
unit
- date unit to use.
- Returns:
- The value of the highest visible tick on the axis.
public Date calculateLowestVisibleTickValue(DateTickUnit unit)
Calculates the value of the lowest visible tick on the axis.
- Parameters:
unit
- date unit to use.
- Returns:
- The value of the lowest visible tick on the axis.
public Object clone() throws CloneNotSupportedException
Returns a clone of the object.
- Returns:
- A clone.
public void configure()
Configures the axis to work with the specified plot. If the axis has auto-scaling, then sets the maximum and minimum values.
public static TickUnitSource createStandardDateTickUnits()
Returns a collection of standard date tick units that uses the default time zone. This collection will be used by default, but you are free to create your own collection if you want to (see theValueAxis.setStandardTickUnits(TickUnitSource)
method inherited from theValueAxis
class).
- Returns:
- A collection of standard date tick units.
public static TickUnitSource createStandardDateTickUnits(TimeZone zone)
Returns a collection of standard date tick units. This collection will be used by default, but you are free to create your own collection if you want to (see theValueAxis.setStandardTickUnits(TickUnitSource)
method inherited from theValueAxis
class).
- Parameters:
zone
- the time zone (null
not permitted).
- Returns:
- A collection of standard date tick units.
public double dateToJava2D(Date date, Rectangle2D area, RectangleEdge edge)
Translates a date to Java2D coordinates, based on the range displayed by this axis for the specified data area.
- Parameters:
date
- the date.area
- the rectangle (in Java2D space) where the data is to be plotted.edge
- the axis location.
- Returns:
- The coordinate corresponding to the supplied date.
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.plotArea
- the area within which the axes and data should be drawn (null
not permitted).dataArea
- the area within which the data should be drawn (null
not permitted).edge
- the location of the axis (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 an arbitrary object.
- Parameters:
obj
- the object (null
permitted).
- Returns:
- A boolean.
public DateFormat getDateFormatOverride()
Returns the date format override. If this is non-null, then it will be used to format the dates on the axis.
- Returns:
- The formatter (possibly
null
).
public Date getMaximumDate()
Returns the latest date visible on the axis.
- Returns:
- The date.
public Date getMinimumDate()
Returns the earliest date visible on the axis.
- Returns:
- The date.
public DateTickMarkPosition getTickMarkPosition()
Returns the tick mark position (start, middle or end of the time period).
- Returns:
- The position (never
null
).
public DateTickUnit getTickUnit()
Returns the tick unit for the axis. Note: if theautoTickUnitSelection
flag istrue
the tick unit may be changed while the axis is being drawn, so in that case the return value from this method may be irrelevant if the method is called before the axis has been drawn.
- Returns:
- The tick unit (possibly
null
).
public TimeZone getTimeZone()
Returns the time zone for the axis.
- Returns:
- The time zone.
- Since:
- 1.0.4
- See Also:
setTimeZone(TimeZone)
public Timeline getTimeline()
Returns the underlying timeline used by this axis.
- Returns:
- The timeline.
public boolean isHiddenValue(long millis)
Returnstrue
if the axis hides this value, andfalse
otherwise.
- Parameters:
millis
- the data value.
- Returns:
- A value.
public double java2DToValue(double java2DValue, Rectangle2D area, RectangleEdge edge)
Translates a Java2D coordinate into the corresponding data value. To perform this translation, you need to know the area used for plotting data, and which edge the axis is located on.
- Overrides:
- java2DToValue in interface ValueAxis
- Parameters:
java2DValue
- the coordinate in Java2D space.area
- the rectangle (in Java2D space) where the data is to be plotted.edge
- the axis location.
- Returns:
- A data value.
protected Date nextStandardDate(Date date, DateTickUnit unit)
Returns the first "standard" date (based on the specified field and units).
- Parameters:
date
- the reference date.unit
- the date tick unit.
- Returns:
- The next "standard" date.
protected Date previousStandardDate(Date date, DateTickUnit unit)
Returns the previous "standard" date, for a given date and tick unit.
- Parameters:
date
- the reference date.unit
- the tick unit.
- Returns:
- The previous "standard" date.
public List refreshTicks(Graphics2D g2, AxisState state, Rectangle2D dataArea, 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 interface Axis
- Parameters:
g2
- the graphics device.state
- the axis state.dataArea
- the area in which the plot should be drawn.edge
- the location of the axis.
- Returns:
- A list of ticks.
protected List refreshTicksHorizontal(Graphics2D g2, Rectangle2D dataArea, RectangleEdge edge)
Recalculates the ticks for the date axis.
- Parameters:
g2
- the graphics device.dataArea
- the area in which the data is to be drawn.edge
- the location of the axis.
- Returns:
- A list of ticks.
protected List refreshTicksVertical(Graphics2D g2, Rectangle2D dataArea, RectangleEdge edge)
Recalculates the ticks for the date axis.
- Parameters:
g2
- the graphics device.dataArea
- the area in which the plot should be drawn.edge
- the location of the axis.
- Returns:
- A list of ticks.
protected void selectAutoTickUnit(Graphics2D g2, Rectangle2D dataArea, RectangleEdge edge)
Selects an appropriate tick value for the axis. The strategy is to display as many ticks as possible (selected from an array of 'standard' tick units) without the labels overlapping.
- Parameters:
g2
- the graphics device.dataArea
- the area defined by the axes.edge
- the axis location.
protected void selectHorizontalAutoTickUnit(Graphics2D g2, Rectangle2D dataArea, RectangleEdge edge)
Selects an appropriate tick size for the axis. The strategy is to display as many ticks as possible (selected from a collection of 'standard' tick units) without the labels overlapping.
- Parameters:
g2
- the graphics device.dataArea
- the area defined by the axes.edge
- the axis location.
protected void selectVerticalAutoTickUnit(Graphics2D g2, Rectangle2D dataArea, RectangleEdge edge)
Selects an appropriate tick size for the axis. The strategy is to display as many ticks as possible (selected from a collection of 'standard' tick units) without the labels overlapping.
- Parameters:
g2
- the graphics device.dataArea
- the area in which the plot should be drawn.edge
- the axis location.
public void setDateFormatOverride(DateFormat formatter)
Sets the date format override. If this is non-null, then it will be used to format the dates on the axis.
- Parameters:
formatter
- the date formatter (null
permitted).
public void setMaximumDate(Date maximumDate)
Sets the maximum date visible on the axis. AnAxisChangeEvent
is sent to all registered listeners.
- Parameters:
maximumDate
- the date (null
not permitted).
public void setMinimumDate(Date date)
Sets the minimum date visible on the axis and sends anAxisChangeEvent
to all registered listeners.
- Parameters:
date
- the date (null
not permitted).
public void setRange(Date lower, Date upper)
Sets the axis range and sends anAxisChangeEvent
to all registered listeners.
- Parameters:
lower
- the lower bound for the axis.upper
- the upper bound for the axis.
public void setRange(double lower, double upper)
Sets the axis range and sends anAxisChangeEvent
to all registered listeners.
- Parameters:
lower
- the lower bound for the axis.upper
- the upper bound for the axis.
public void setRange(Range range)
Sets the upper and lower bounds for the axis and sends anAxisChangeEvent
to all registered listeners. As a side-effect, the auto-range flag is set to false.
- Parameters:
range
- the new range (null
not permitted).
public void setRange(Range range, boolean turnOffAutoRange, boolean notify)
Sets the range for the axis, if requested, sends anAxisChangeEvent
to all registered listeners. As a side-effect, the auto-range flag is set tofalse
(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 setTickMarkPosition(DateTickMarkPosition position)
Sets the tick mark position (start, middle or end of the time period) and sends anAxisChangeEvent
to all registered listeners.
- Parameters:
position
- the position (null
not permitted).
public void setTickUnit(DateTickUnit unit)
Sets the tick unit for the axis. The auto-tick-unit-selection flag is set tofalse
, and registered listeners are notified that the axis has been changed.
- Parameters:
unit
- the tick unit.
public void setTickUnit(DateTickUnit unit, boolean notify, boolean turnOffAutoSelection)
Sets the tick unit attribute.
- Parameters:
unit
- the new tick unit.notify
- notify registered listeners?turnOffAutoSelection
- turn off auto selection?
- See Also:
getTickUnit()
public void setTimeZone(TimeZone zone)
Sets the time zone for the axis and sends anAxisChangeEvent
to all registered listeners.
- Parameters:
zone
- the time zone (null
not permitted).
- Since:
- 1.0.4
- See Also:
getTimeZone()
public void setTimeline(Timeline timeline)
Sets the underlying timeline to use for this axis. If the timeline is changed, anAxisChangeEvent
is sent to all registered listeners.
- Parameters:
timeline
- the timeline.
public double valueToJava2D(double value, Rectangle2D area, RectangleEdge edge)
Translates the data value to the display coordinates (Java 2D User Space) of the chart.
- Overrides:
- valueToJava2D in interface ValueAxis
- Parameters:
value
- the date to be plotted.area
- the rectangle (in Java2D space) where the data is to be plotted.edge
- the axis location.
- Returns:
- The coordinate corresponding to the supplied data value.