Class LogAxis
java.lang.Object
org.jfree.chart.axis.Axis
org.jfree.chart.axis.ValueAxis
org.jfree.chart.axis.LogAxis
- All Implemented Interfaces:
Serializable, Cloneable, org.jfree.util.PublicCloneable
A numerical axis that uses a logarithmic scale. The class is an
alternative to the
LogarithmicAxis class.- Since:
- 1.0.7
- See Also:
-
Field Summary
Fields inherited from class 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_COUNTFields inherited from class Axis
DEFAULT_AXIS_LABEL_FONT, DEFAULT_AXIS_LABEL_INSETS, DEFAULT_AXIS_LABEL_PAINT, DEFAULT_AXIS_LINE_PAINT, DEFAULT_AXIS_LINE_STROKE, DEFAULT_AXIS_VISIBLE, DEFAULT_TICK_LABEL_FONT, DEFAULT_TICK_LABEL_INSETS, DEFAULT_TICK_LABEL_PAINT, DEFAULT_TICK_LABELS_VISIBLE, DEFAULT_TICK_MARK_INSIDE_LENGTH, DEFAULT_TICK_MARK_OUTSIDE_LENGTH, DEFAULT_TICK_MARK_PAINT, DEFAULT_TICK_MARK_STROKE, DEFAULT_TICK_MARKS_VISIBLE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidAdjusts the axis range to match the data range that the axis is required to display.doublecalculateLog(double value) Calculates the log of the given value, using the current base.doublecalculateValue(double log) Calculates the value from a given log.voidConfigures the axis.static TickUnitSourcecreateLogTickUnits(Locale locale) Returns a collection of tick units for log (base 10) values.protected StringcreateTickLabel(double value) Creates a tick label for the specified value.draw(Graphics2D g2, double cursor, Rectangle2D plotArea, Rectangle2D dataArea, org.jfree.ui.RectangleEdge edge, PlotRenderingInfo plotState) Draws the axis on a Java 2D graphics device (such as the screen or a printer).booleanTests this axis for equality with an arbitrary object.protected doubleEstimates the maximum tick label height.protected doubleestimateMaximumTickLabelWidth(Graphics2D g2, TickUnit unit) Estimates the maximum width of the tick labels, assuming the specified tick unit is used.doubleexponentLengthToJava2D(double length, Rectangle2D area, org.jfree.ui.RectangleEdge edge) Converts a length in data coordinates into the corresponding length in Java2D coordinates.doublegetBase()Returns the base for the logarithm calculation.Returns the number format override.doubleReturns the smallest value represented by the axis.Returns the current tick unit.inthashCode()Returns a hash code for this instance.doublejava2DToValue(double java2DValue, Rectangle2D area, org.jfree.ui.RectangleEdge edge) Converts a Java2D coordinate to an axis value, assuming that the axis covers the specifiededgeof thearea.voidpan(double percent) Slides the axis range by the specified percentage.refreshTicks(Graphics2D g2, AxisState state, Rectangle2D dataArea, org.jfree.ui.RectangleEdge edge) Calculates the positions of the tick labels for the axis, storing the results in the tick label list (ready for drawing).protected ListrefreshTicksHorizontal(Graphics2D g2, Rectangle2D dataArea, org.jfree.ui.RectangleEdge edge) Returns a list of ticks for an axis at the top or bottom of the chart.protected ListrefreshTicksVertical(Graphics2D g2, Rectangle2D dataArea, org.jfree.ui.RectangleEdge edge) Returns a list of ticks for an axis at the left or right of the chart.protected voidselectAutoTickUnit(Graphics2D g2, Rectangle2D dataArea, org.jfree.ui.RectangleEdge edge) Selects an appropriate tick value for the axis.protected voidselectHorizontalAutoTickUnit(Graphics2D g2, Rectangle2D dataArea, org.jfree.ui.RectangleEdge edge) Selects an appropriate tick value for the axis.protected voidselectVerticalAutoTickUnit(Graphics2D g2, Rectangle2D dataArea, org.jfree.ui.RectangleEdge edge) Selects an appropriate tick value for the axis.voidsetBase(double base) Sets the base for the logarithm calculation and sends anAxisChangeEventto all registered listeners.voidsetNumberFormatOverride(NumberFormat formatter) Sets the number format override.voidsetSmallestValue(double value) Sets the smallest value represented by the axis and sends anAxisChangeEventto all registered listeners.voidsetTickUnit(NumberTickUnit unit) Sets the tick unit for the axis and sends anAxisChangeEventto all registered listeners.voidsetTickUnit(NumberTickUnit unit, boolean notify, boolean turnOffAutoSelect) Sets the tick unit for the axis and, if requested, sends anAxisChangeEventto all registered listeners.doublevalueToJava2D(double value, Rectangle2D area, org.jfree.ui.RectangleEdge edge) Converts a value on the axis scale to a Java2D coordinate relative to the givenarea, based on the axis running along the specifiededge.voidzoomRange(double lowerPercent, double upperPercent) Zooms in on the current range.Methods inherited from class ValueAxis
calculateAnchorPoint, centerRange, clone, drawAxisLine, drawTickMarksAndLabels, findMaximumTickLabelHeight, findMaximumTickLabelWidth, getAutoRangeMinimumSize, getAutoTickIndex, getDefaultAutoRange, getDownArrow, getFixedAutoRange, getLeftArrow, getLowerBound, getLowerMargin, getMinorTickCount, getRange, getRightArrow, getStandardTickUnits, getUpArrow, getUpperBound, getUpperMargin, isAutoRange, isAutoTickUnitSelection, isInverted, isNegativeArrowVisible, isPositiveArrowVisible, isVerticalTickLabels, lengthToJava2D, reserveSpace, resizeRange, resizeRange, resizeRange2, setAutoRange, setAutoRange, setAutoRangeMinimumSize, setAutoRangeMinimumSize, setAutoTickIndex, setAutoTickUnitSelection, setAutoTickUnitSelection, setDefaultAutoRange, setDownArrow, setFixedAutoRange, setInverted, setLeftArrow, setLowerBound, setLowerMargin, setMinorTickCount, setNegativeArrowVisible, setPositiveArrowVisible, setRange, setRange, setRange, setRangeAboutValue, setRangeWithMargins, setRangeWithMargins, setRangeWithMargins, setRightArrow, setStandardTickUnits, setUpArrow, setUpperBound, setUpperMargin, setVerticalTickLabelsMethods inherited from class Axis
addChangeListener, createAndAddEntity, createAttributedLabel, drawAttributedLabel, drawLabel, fireChangeEvent, getAttributedLabel, getAxisLinePaint, getAxisLineStroke, getFixedDimension, getLabel, getLabelAngle, getLabelEnclosure, getLabelFont, getLabelInsets, getLabelLocation, getLabelPaint, getMinorTickMarkInsideLength, getMinorTickMarkOutsideLength, getPlot, getTickLabelFont, getTickLabelInsets, getTickLabelPaint, getTickMarkInsideLength, getTickMarkOutsideLength, getTickMarkPaint, getTickMarkStroke, hasListener, isAxisLineVisible, isMinorTickMarksVisible, isTickLabelsVisible, isTickMarksVisible, isVisible, labelAnchorH, labelAnchorV, labelLocationX, labelLocationY, notifyListeners, removeChangeListener, setAttributedLabel, setAttributedLabel, setAxisLinePaint, setAxisLineStroke, setAxisLineVisible, setFixedDimension, setLabel, setLabelAngle, setLabelFont, setLabelInsets, setLabelInsets, setLabelLocation, setLabelPaint, setMinorTickMarkInsideLength, setMinorTickMarkOutsideLength, setMinorTickMarksVisible, setPlot, setTickLabelFont, setTickLabelInsets, setTickLabelPaint, setTickLabelsVisible, setTickMarkInsideLength, setTickMarkOutsideLength, setTickMarkPaint, setTickMarkStroke, setTickMarksVisible, setVisible
-
Constructor Details
-
LogAxis
public LogAxis()Creates a newLogAxiswith no label. -
LogAxis
-
-
Method Details
-
getBase
Returns the base for the logarithm calculation.- Returns:
- The base for the logarithm calculation.
- See Also:
-
setBase
Sets the base for the logarithm calculation and sends anAxisChangeEventto all registered listeners.- Parameters:
base- the base value (must be > 1.0).- See Also:
-
getSmallestValue
Returns the smallest value represented by the axis.- Returns:
- The smallest value represented by the axis.
- See Also:
-
setSmallestValue
Sets the smallest value represented by the axis and sends anAxisChangeEventto all registered listeners.- Parameters:
value- the value.- See Also:
-
getTickUnit
Returns the current tick unit.- Returns:
- The current tick unit.
- See Also:
-
setTickUnit
Sets the tick unit for the axis and sends anAxisChangeEventto 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 theValueAxis.setAutoTickUnitSelection(boolean)method).- Parameters:
unit- the new tick unit (nullnot permitted).- See Also:
-
setTickUnit
Sets the tick unit for the axis and, if requested, sends anAxisChangeEventto all registered listeners. In addition, an option is provided to turn off the "auto-select" feature for tick units (you can restore it using theValueAxis.setAutoTickUnitSelection(boolean)method).- Parameters:
unit- the new tick unit (nullnot permitted).notify- notify listeners?turnOffAutoSelect- turn off the auto-tick selection?- See Also:
-
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). - See Also:
-
setNumberFormatOverride
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 (nullpermitted).- See Also:
-
calculateLog
Calculates the log of the given value, using the current base.- Parameters:
value- the value.- Returns:
- The log of the given value.
- See Also:
-
calculateValue
Calculates the value from a given log.- Parameters:
log- the log value (must be > 0.0).- Returns:
- The value with the given log.
- See Also:
-
java2DToValue
Converts a Java2D coordinate to an axis value, assuming that the axis covers the specifiededgeof thearea.- Specified by:
java2DToValuein classValueAxis- Parameters:
java2DValue- the Java2D coordinate.area- the area.edge- the edge that the axis belongs to.- Returns:
- A value along the axis scale.
- See Also:
-
valueToJava2D
Converts a value on the axis scale to a Java2D coordinate relative to the givenarea, based on the axis running along the specifiededge.- Specified by:
valueToJava2Din classValueAxis- Parameters:
value- the data value.area- the area.edge- the edge.- Returns:
- The Java2D coordinate corresponding to
value. - See Also:
-
configure
-
autoAdjustRange
Adjusts the axis range to match the data range that the axis is required to display.- Specified by:
autoAdjustRangein classValueAxis
-
draw
public AxisState draw(Graphics2D g2, double cursor, Rectangle2D plotArea, Rectangle2D dataArea, org.jfree.ui.RectangleEdge edge, PlotRenderingInfo plotState) Draws the axis on a Java 2D graphics device (such as the screen or a printer).- Specified by:
drawin classAxis- Parameters:
g2- the graphics device (nullnot 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 (nullnot permitted).plotState- collects information about the plot (nullpermitted).- Returns:
- The axis state (never
null).
-
refreshTicks
public List refreshTicks(Graphics2D g2, AxisState state, Rectangle2D dataArea, org.jfree.ui.RectangleEdge edge) Calculates the positions of the tick labels for the axis, storing the results in the tick label list (ready for drawing).- Specified by:
refreshTicksin classAxis- 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.
-
refreshTicksHorizontal
protected List refreshTicksHorizontal(Graphics2D g2, Rectangle2D dataArea, org.jfree.ui.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.
-
refreshTicksVertical
protected List refreshTicksVertical(Graphics2D g2, Rectangle2D dataArea, org.jfree.ui.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.
-
selectAutoTickUnit
protected void selectAutoTickUnit(Graphics2D g2, Rectangle2D dataArea, org.jfree.ui.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.- Since:
- 1.0.7
-
selectHorizontalAutoTickUnit
protected void selectHorizontalAutoTickUnit(Graphics2D g2, Rectangle2D dataArea, org.jfree.ui.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.- Since:
- 1.0.7
-
exponentLengthToJava2D
public double exponentLengthToJava2D(double length, Rectangle2D area, org.jfree.ui.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.
- Since:
- 1.0.7
-
selectVerticalAutoTickUnit
protected void selectVerticalAutoTickUnit(Graphics2D g2, Rectangle2D dataArea, org.jfree.ui.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.- Since:
- 1.0.7
-
estimateMaximumTickLabelHeight
Estimates the maximum tick label height.- Parameters:
g2- the graphics device.- Returns:
- The maximum height.
- Since:
- 1.0.7
-
estimateMaximumTickLabelWidth
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.
- Since:
- 1.0.7
-
zoomRange
-
pan
-
createTickLabel
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.
- Since:
- 1.0.10
-
equals
-
hashCode
-
createLogTickUnits
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.
- Since:
- 1.0.7
-