public class

LogAxis

extends ValueAxis
java.lang.Object
   ↳ org.jfree.chart.axis.Axis
     ↳ org.jfree.chart.axis.ValueAxis
       ↳ org.jfree.chart.axis.LogAxis

Class Overview

A numerical axis that uses a logarithmic scale. The class is an alternative to the LogarithmicAxis class.

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
LogAxis()
Creates a new LogAxis with no label.
LogAxis(String label)
Creates a new LogAxis with the given label.
Public Methods
double calculateLog(double value)
Calculates the log of the given value, using the current base.
double calculateValue(double log)
Calculates the value from a given log.
void configure()
Configures the axis.
static TickUnitSource createLogTickUnits(Locale locale)
Returns a collection of tick units for log (base 10) values.
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 an arbitrary object.
double exponentLengthToJava2D(double length, Rectangle2D area, RectangleEdge edge)
Converts a length in data coordinates into the corresponding length in Java2D coordinates.
double getBase()
Returns the base for the logarithm calculation.
NumberFormat getNumberFormatOverride()
Returns the number format override.
double getSmallestValue()
Returns the smallest value represented by the axis.
NumberTickUnit getTickUnit()
Returns the current tick unit.
int hashCode()
Returns a hash code for this instance.
double java2DToValue(double java2DValue, Rectangle2D area, RectangleEdge edge)
Converts a Java2D coordinate to an axis value, assuming that the axis covers the specified edge of the area.
void pan(double percent)
Slides the axis range by the specified percentage.
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).
void setBase(double base)
Sets the base for the logarithm calculation and sends an AxisChangeEvent to all registered listeners.
void setNumberFormatOverride(NumberFormat formatter)
Sets the number format override.
void setSmallestValue(double value)
Sets the smallest value represented by the axis and sends an AxisChangeEvent to all registered listeners.
void setTickUnit(NumberTickUnit unit)
Sets the tick unit for the axis and sends an AxisChangeEvent to all registered listeners.
void setTickUnit(NumberTickUnit unit, boolean notify, boolean turnOffAutoSelect)
Sets the tick unit for the axis and, if requested, sends an AxisChangeEvent to all registered listeners.
double valueToJava2D(double value, Rectangle2D area, RectangleEdge edge)
Converts a value on the axis scale to a Java2D coordinate relative to the given area, based on the axis running along the specified edge.
void zoomRange(double lowerPercent, double upperPercent)
Zooms in on the current range.
Protected Methods
void autoAdjustRange()
Adjusts the axis range to match the data range that the axis is required to display.
String createTickLabel(double value)
Creates a tick label for the specified value.
double estimateMaximumTickLabelHeight(Graphics2D g2)
Estimates the maximum tick label height.
double estimateMaximumTickLabelWidth(Graphics2D g2, TickUnit unit)
Estimates the maximum width of the tick labels, assuming the specified tick unit is used.
List refreshTicksHorizontal(Graphics2D g2, Rectangle2D dataArea, RectangleEdge edge)
Returns a list of ticks for an axis at the top or bottom of the chart.
List refreshTicksVertical(Graphics2D g2, Rectangle2D dataArea, RectangleEdge edge)
Returns a list of ticks for an axis at the left or right of the chart.
void selectAutoTickUnit(Graphics2D g2, Rectangle2D dataArea, RectangleEdge edge)
Selects an appropriate tick value for the axis.
void selectHorizontalAutoTickUnit(Graphics2D g2, Rectangle2D dataArea, RectangleEdge edge)
Selects an appropriate tick value for the axis.
void selectVerticalAutoTickUnit(Graphics2D g2, Rectangle2D dataArea, RectangleEdge edge)
Selects an appropriate tick value for the 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 LogAxis ()

Creates a new LogAxis with no label.

public LogAxis (String label)

Creates a new LogAxis with the given label.

Parameters
label the axis label (null permitted).

Public Methods

public double calculateLog (double value)

Calculates the log of the given value, using the current base.

Parameters
value the value.
Returns
  • The log of the given value.

public double calculateValue (double log)

Calculates the value from a given log.

Parameters
log the log value (must be > 0.0).
Returns
  • The value with the given log.

public void configure ()

Configures the axis. This method is typically called when an axis is assigned to a new plot.

public static TickUnitSource createLogTickUnits (Locale locale)

Returns a collection of tick units for log (base 10) values. Uses a given Locale to create the DecimalFormats.

Parameters
locale the locale to use to represent Numbers.
Returns
  • A collection of tick units for integer values.

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

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

public double exponentLengthToJava2D (double length, Rectangle2D area, RectangleEdge edge)

Converts a length in data coordinates into the corresponding length in Java2D coordinates.

Parameters
length the length.
area the plot area.
edge the edge along which the axis lies.
Returns
  • The length in Java2D coordinates.

public double getBase ()

Returns the base for the logarithm calculation.

Returns
  • The base for the logarithm calculation.
See Also

public NumberFormat getNumberFormatOverride ()

Returns the number format override. If this is non-null, then it will be used to format the numbers on the axis.

Returns
  • The number formatter (possibly null).

public double getSmallestValue ()

Returns the smallest value represented by the axis.

Returns
  • The smallest value represented by the axis.

public NumberTickUnit getTickUnit ()

Returns the current tick unit.

Returns
  • The current tick unit.

public int hashCode ()

Returns a hash code for this instance.

Returns
  • A hash code.

public double java2DToValue (double java2DValue, Rectangle2D area, RectangleEdge edge)

Converts a Java2D coordinate to an axis value, assuming that the axis covers the specified edge of the area.

Parameters
java2DValue the Java2D coordinate.
area the area.
edge the edge that the axis belongs to.
Returns
  • A value along the axis scale.

public void pan (double percent)

Slides the axis range by the specified percentage.

Parameters
percent the percentage.

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

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.

public void setBase (double base)

Sets the base for the logarithm calculation and sends an AxisChangeEvent to all registered listeners.

Parameters
base the base value (must be > 1.0).
See Also

public void setNumberFormatOverride (NumberFormat formatter)

Sets the number format override. If this is non-null, then it will be used to format the numbers on the axis.

Parameters
formatter the number formatter (null permitted).

public void setSmallestValue (double value)

Sets the smallest value represented by the axis and sends an AxisChangeEvent to all registered listeners.

Parameters
value the value.

public void setTickUnit (NumberTickUnit unit)

Sets the tick unit for the axis and sends an AxisChangeEvent to all registered listeners. A side effect of calling this method is that the "auto-select" feature for tick units is switched off (you can restore it using the setAutoTickUnitSelection(boolean) method).

Parameters
unit the new tick unit (null not permitted).
See Also

public void setTickUnit (NumberTickUnit unit, boolean notify, boolean turnOffAutoSelect)

Sets the tick unit for the axis and, if requested, sends an AxisChangeEvent to all registered listeners. In addition, an option is provided to turn off the "auto-select" feature for tick units (you can restore it using the setAutoTickUnitSelection(boolean) method).

Parameters
unit the new tick unit (null not permitted).
notify notify listeners?
turnOffAutoSelect turn off the auto-tick selection?
See Also

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

Converts a value on the axis scale to a Java2D coordinate relative to the given area, based on the axis running along the specified edge.

Parameters
value the data value.
area the area.
edge the edge.
Returns
  • The Java2D coordinate corresponding to value.

public void zoomRange (double lowerPercent, double upperPercent)

Zooms in on the current range.

Parameters
lowerPercent the new lower bound.
upperPercent the new upper bound.

Protected Methods

protected void autoAdjustRange ()

Adjusts the axis range to match the data range that the axis is required to display.

protected String createTickLabel (double value)

Creates a tick label for the specified value. Note that this method was 'private' prior to version 1.0.10.

Parameters
value the value.
Returns
  • The label.

protected double estimateMaximumTickLabelHeight (Graphics2D g2)

Estimates the maximum tick label height.

Parameters
g2 the graphics device.
Returns
  • The maximum height.

protected double estimateMaximumTickLabelWidth (Graphics2D g2, TickUnit unit)

Estimates the maximum width of the tick labels, assuming the specified tick unit is used.

Rather than computing the string bounds of every tick on the axis, we just look at two values: the lower bound and the upper bound for the axis. These two values will usually be representative.

Parameters
g2 the graphics device.
unit the tick unit to use for calculation.
Returns
  • The estimated maximum width of the tick labels.

protected List refreshTicksHorizontal (Graphics2D g2, Rectangle2D dataArea, RectangleEdge edge)

Returns a list of ticks for an axis at the top or bottom of the chart.

Parameters
g2 the graphics device.
dataArea the data area.
edge the edge.
Returns
  • A list of ticks.

protected List refreshTicksVertical (Graphics2D g2, Rectangle2D dataArea, RectangleEdge edge)

Returns a list of ticks for an axis at the left or right of the chart.

Parameters
g2 the graphics device.
dataArea the data area.
edge the edge.
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 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 selectVerticalAutoTickUnit (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 in which the plot should be drawn.
edge the axis location.