org.jfree.chart.axis
Class LogarithmicAxis
- java.lang.Object
-
- org.jfree.chart.axis.Axis
-
- org.jfree.chart.axis.ValueAxis
-
- org.jfree.chart.axis.NumberAxis
-
- org.jfree.chart.axis.LogarithmicAxis
-
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, org.jfree.util.PublicCloneable
public class LogarithmicAxis extends NumberAxis
A numerical axis that uses a logarithmic scale.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field and Description static doubleLOG10_VALUEUseful constant for log(10).static doubleSMALL_LOG_VALUESmallest arbitrarily-close-to-zero value allowed.-
Fields inherited from class org.jfree.chart.axis.NumberAxis
DEFAULT_AUTO_RANGE_INCLUDES_ZERO, DEFAULT_AUTO_RANGE_STICKY_ZERO, DEFAULT_TICK_UNIT, DEFAULT_VERTICAL_TICK_LABELS
-
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
-
Fields inherited from class org.jfree.chart.axis.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 Constructor and Description LogarithmicAxis(java.lang.String label)Creates a new axis.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description doubleadjustedLog10(double val)Returns an adjusted log10 value for graphing purposes.doubleadjustedPow10(double val)Returns an adjusted power of 10 value for graphing purposes.voidautoAdjustRange()Rescales the axis to ensure that all data is visible.booleangetAllowNegativesFlag()Returns the 'allowNegativesFlag' flag; true to allow negative values in data, false to be able to plot positive values arbitrarily close to zero.booleangetAutoRangeNextLogFlag()Returns the 'autoRangeNextLogFlag' flag.booleangetExpTickLabelsFlag()Returns the 'expTickLabelsFlag' flag.booleangetLog10TickLabelsFlag()Returns the 'log10TickLabelsFlag' flag.booleangetStrictValuesFlag()Returns the 'strictValuesFlag' flag; if true and 'allowNegativesFlag' is false then this axis will throw a runtime exception if any of its values are less than or equal to zero; if false then the axis will adjust for values less than or equal to zero as needed.doublejava2DToValue(double java2DValue, java.awt.geom.Rectangle2D plotArea, org.jfree.ui.RectangleEdge edge)Converts a coordinate in Java2D space to the corresponding data value, assuming that the axis runs along one edge of the specified plotArea.voidsetAllowNegativesFlag(boolean flgVal)Sets the 'allowNegativesFlag' flag; true to allow negative values in data, false to be able to plot positive values arbitrarily close to zero.voidsetAutoRangeNextLogFlag(boolean flag)Sets the 'autoRangeNextLogFlag' flag.voidsetExpTickLabelsFlag(boolean flgVal)Sets the 'expTickLabelsFlag' flag.voidsetLog10TickLabelsFlag(boolean flag)Sets the 'log10TickLabelsFlag' flag.voidsetRange(Range range)Overridden version that calls original and then sets up flag for log axis processing.voidsetStrictValuesFlag(boolean flgVal)Sets the 'strictValuesFlag' flag; if true and 'allowNegativesFlag' is false then this axis will throw a runtime exception if any of its values are less than or equal to zero; if false then the axis will adjust for values less than or equal to zero as needed.doubleswitchedPow10(double val)Returns a power of 10, depending on if values between 0 and 1 are being plotted.doublevalueToJava2D(double value, java.awt.geom.Rectangle2D plotArea, org.jfree.ui.RectangleEdge edge)Converts a data value to a coordinate in Java2D space, assuming that the axis runs along one edge of the specified plotArea.voidzoomRange(double lowerPercent, double upperPercent)Zooms in on the current range.-
Methods inherited from class org.jfree.chart.axis.NumberAxis
clone, configure, createIntegerTickUnits, createIntegerTickUnits, createStandardTickUnits, createStandardTickUnits, draw, equals, getAutoRangeIncludesZero, getAutoRangeStickyZero, getMarkerBand, getNumberFormatOverride, getRangeType, getTickUnit, hashCode, refreshTicks, setAutoRangeIncludesZero, setAutoRangeStickyZero, setMarkerBand, setNumberFormatOverride, setRangeType, setTickUnit, setTickUnit
-
Methods inherited from class org.jfree.chart.axis.ValueAxis
centerRange, getAutoRangeMinimumSize, getDefaultAutoRange, getDownArrow, getFixedAutoRange, getLeftArrow, getLowerBound, getLowerMargin, getMinorTickCount, getRange, getRightArrow, getStandardTickUnits, getUpArrow, getUpperBound, getUpperMargin, isAutoRange, isAutoTickUnitSelection, isInverted, isNegativeArrowVisible, isPositiveArrowVisible, isVerticalTickLabels, lengthToJava2D, pan, reserveSpace, resizeRange, resizeRange, resizeRange2, setAutoRange, setAutoRangeMinimumSize, setAutoRangeMinimumSize, setAutoTickUnitSelection, setAutoTickUnitSelection, setDefaultAutoRange, setDownArrow, setFixedAutoRange, setInverted, setLeftArrow, setLowerBound, setLowerMargin, setMinorTickCount, setNegativeArrowVisible, setPositiveArrowVisible, setRange, setRange, setRangeAboutValue, setRangeWithMargins, setRangeWithMargins, setRangeWithMargins, setRightArrow, setStandardTickUnits, setUpArrow, setUpperBound, setUpperMargin, setVerticalTickLabels
-
Methods inherited from class org.jfree.chart.axis.Axis
addChangeListener, createAttributedLabel, getAttributedLabel, getAxisLinePaint, getAxisLineStroke, getFixedDimension, getLabel, getLabelAngle, getLabelFont, getLabelInsets, getLabelLocation, getLabelPaint, getMinorTickMarkInsideLength, getMinorTickMarkOutsideLength, getPlot, getTickLabelFont, getTickLabelInsets, getTickLabelPaint, getTickMarkInsideLength, getTickMarkOutsideLength, getTickMarkPaint, getTickMarkStroke, hasListener, isAxisLineVisible, isMinorTickMarksVisible, isTickLabelsVisible, isTickMarksVisible, isVisible, 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
-
-
-
-
Field Detail
-
LOG10_VALUE
public static final double LOG10_VALUE
Useful constant for log(10).
-
SMALL_LOG_VALUE
public static final double SMALL_LOG_VALUE
Smallest arbitrarily-close-to-zero value allowed.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
LogarithmicAxis
public LogarithmicAxis(java.lang.String label)
Creates a new axis.- Parameters:
label- the axis label.
-
-
Method Detail
-
setAllowNegativesFlag
public void setAllowNegativesFlag(boolean flgVal)
Sets the 'allowNegativesFlag' flag; true to allow negative values in data, false to be able to plot positive values arbitrarily close to zero.- Parameters:
flgVal- the new value of the flag.
-
getAllowNegativesFlag
public boolean getAllowNegativesFlag()
Returns the 'allowNegativesFlag' flag; true to allow negative values in data, false to be able to plot positive values arbitrarily close to zero.- Returns:
- The flag.
-
setStrictValuesFlag
public void setStrictValuesFlag(boolean flgVal)
Sets the 'strictValuesFlag' flag; if true and 'allowNegativesFlag' is false then this axis will throw a runtime exception if any of its values are less than or equal to zero; if false then the axis will adjust for values less than or equal to zero as needed.- Parameters:
flgVal- true for strict enforcement.
-
getStrictValuesFlag
public boolean getStrictValuesFlag()
Returns the 'strictValuesFlag' flag; if true and 'allowNegativesFlag' is false then this axis will throw a runtime exception if any of its values are less than or equal to zero; if false then the axis will adjust for values less than or equal to zero as needed.- Returns:
trueif strict enforcement is enabled.
-
setExpTickLabelsFlag
public void setExpTickLabelsFlag(boolean flgVal)
Sets the 'expTickLabelsFlag' flag. If the 'log10TickLabelsFlag' is false then this will set whether or not "1e#"-style tick labels are used. The default is to use regular numeric tick labels.- Parameters:
flgVal- true for "1e#"-style tick labels, false for log10 or regular numeric tick labels.
-
getExpTickLabelsFlag
public boolean getExpTickLabelsFlag()
Returns the 'expTickLabelsFlag' flag.- Returns:
truefor "1e#"-style tick labels,falsefor log10 or regular numeric tick labels.
-
setLog10TickLabelsFlag
public void setLog10TickLabelsFlag(boolean flag)
Sets the 'log10TickLabelsFlag' flag. The default value is false.- Parameters:
flag- true for "10^n"-style tick labels, false for "1e#"-style or regular numeric tick labels.
-
getLog10TickLabelsFlag
public boolean getLog10TickLabelsFlag()
Returns the 'log10TickLabelsFlag' flag.- Returns:
truefor "10^n"-style tick labels,falsefor "1e#"-style or regular numeric tick labels.
-
setAutoRangeNextLogFlag
public void setAutoRangeNextLogFlag(boolean flag)
Sets the 'autoRangeNextLogFlag' flag. This determines whether or not the 'autoAdjustRange()' method will select the next "10^n" values when determining the upper and lower bounds. The default value is false.- Parameters:
flag-trueto make the 'autoAdjustRange()' method select the next "10^n" values,falseto not.
-
getAutoRangeNextLogFlag
public boolean getAutoRangeNextLogFlag()
Returns the 'autoRangeNextLogFlag' flag.- Returns:
trueif the 'autoAdjustRange()' method will select the next "10^n" values,falseif not.
-
setRange
public void setRange(Range range)
Overridden version that calls original and then sets up flag for log axis processing.- Overrides:
setRangein classValueAxis- Parameters:
range- the new range.- See Also:
ValueAxis.getRange()
-
switchedPow10
public double switchedPow10(double val)
Returns a power of 10, depending on if values between 0 and 1 are being plotted. If negative values are not allowed and the lower bound is between 0 and 10 then a normal power is returned; otherwise the returned value is adjusted if the given value is less than 1.- Parameters:
val- the value.- Returns:
- 10val.
- Since:
- 1.0.5
- See Also:
switchedLog10(double)
-
adjustedLog10
public double adjustedLog10(double val)
Returns an adjusted log10 value for graphing purposes. The first adjustment is that negative values are changed to positive during the calculations, and then the answer is negated at the end. The second is that, for values less than 10, an increasingly large (0 to 1) scaling factor is added such that at 0 the value is adjusted to 1, resulting in a returned result of 0.- Parameters:
val- value for which log10 should be calculated.- Returns:
- An adjusted log10(val).
- See Also:
adjustedPow10(double)
-
adjustedPow10
public double adjustedPow10(double val)
Returns an adjusted power of 10 value for graphing purposes. The first adjustment is that negative values are changed to positive during the calculations, and then the answer is negated at the end. The second is that, for values less than 1, a progressive logarithmic offset is subtracted such that at 0 the returned result is also 0.- Parameters:
val- value for which power of 10 should be calculated.- Returns:
- An adjusted 10val.
- Since:
- 1.0.5
- See Also:
adjustedLog10(double)
-
autoAdjustRange
public void autoAdjustRange()
Rescales the axis to ensure that all data is visible.
-
valueToJava2D
public double valueToJava2D(double value, java.awt.geom.Rectangle2D plotArea, org.jfree.ui.RectangleEdge edge)Converts a data value to a coordinate in Java2D space, assuming that the axis runs along one edge of the specified plotArea. Note that it is possible for the coordinate to fall outside the plotArea.- Overrides:
valueToJava2Din classNumberAxis- Parameters:
value- the data value.plotArea- the area for plotting the data.edge- the axis location.- Returns:
- The Java2D coordinate.
- See Also:
NumberAxis.java2DToValue(double, Rectangle2D, RectangleEdge)
-
java2DToValue
public double java2DToValue(double java2DValue, java.awt.geom.Rectangle2D plotArea, org.jfree.ui.RectangleEdge edge)Converts a coordinate in Java2D space to the corresponding data value, assuming that the axis runs along one edge of the specified plotArea.- Overrides:
java2DToValuein classNumberAxis- Parameters:
java2DValue- the coordinate in Java2D space.plotArea- the area in which the data is plotted.edge- the axis location.- Returns:
- The data value.
- See Also:
NumberAxis.valueToJava2D(double, Rectangle2D, RectangleEdge)
-
-
DMelt 3.0 © DataMelt by jWork.ORG