Package de.gsi.chart.axes.spi
Class DefaultNumericAxis
- java.lang.Object
-
- javafx.scene.Node
-
- javafx.scene.Parent
-
- javafx.scene.layout.Region
-
- javafx.scene.layout.Pane
-
- de.gsi.chart.axes.spi.AbstractAxisParameter
-
- de.gsi.chart.axes.spi.AbstractAxis
-
- de.gsi.chart.axes.spi.DefaultNumericAxis
-
- All Implemented Interfaces:
Axis
,de.gsi.dataset.AxisDescription
,de.gsi.dataset.event.EventSource
,java.io.Serializable
,javafx.css.Styleable
,javafx.event.EventTarget
- Direct Known Subclasses:
CategoryAxis
,ColorGradientAxis
public class DefaultNumericAxis extends AbstractAxis implements Axis
A axis class that plots a range of numbers with major tick marks every "tickUnit". You can use any Number type with this axis, Long, Double, BigDecimal etc.Compared to the
NumberAxis
, this one has a few additional features:- Re-calculates tick unit also when the
auto-ranging
is off - Supports configuration of
auto-range padding
- Supports configuration of
auto-range rounding
- Supports custom
tickUnitSupplierProperty
tick unit suppliers
- Author:
- rstein
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
DefaultNumericAxis.Cache
-
Field Summary
Fields Modifier and Type Field Description static double
DEFAULT_LOG_MIN_VALUE
protected boolean
isLogAxis
protected boolean
isUpdating
-
Fields inherited from class de.gsi.chart.axes.spi.AbstractAxis
BURST_LIMIT_CSS_MS, labelOverlap, lock, MAX_NARROW_FONT_SCALE, maxLabelHeight, maxLabelWidth, MIN_NARROW_FONT_SCALE, RANGE_ANIMATION_DURATION_MS, scaleFont, tickMarkDoubleCache, tickMarkStringCache
-
Fields inherited from class de.gsi.chart.axes.spi.AbstractAxisParameter
cachedOffset, DEFAULT_MINOR_TICK_COUNT, isInvertedAxis, isTimeAxis, majorTickMarks, majorTickMarkValues, MAX_TICK_COUNT, maxProp, minorTickMarks, minorTickMarkValues, minProp, oldAxisLength, oldAxisMax, oldAxisMin, oldTickUnit, scaleChangeListener, tickLabelRotation, tickUnit, valid
-
-
Constructor Summary
Constructors Constructor Description DefaultNumericAxis()
Creates anauto-ranging
Axis.DefaultNumericAxis(double lowerBound, double upperBound, double tickUnit)
Creates anon-auto-ranging
Axis with the given upper bound, lower bound and tick unit.DefaultNumericAxis(java.lang.String axisLabel)
Creates anauto-ranging
Axis.DefaultNumericAxis(java.lang.String axisLabel, double lowerBound, double upperBound, double tickUnit)
Create anon-auto-ranging
Axis with the given upper bound, lower bound and tick unit.DefaultNumericAxis(java.lang.String axisLabel, java.lang.String unit)
Creates anauto-ranging
Axis.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected AxisRange
autoRange(double minValue, double maxValue, double length, double labelSize)
protected java.util.List<java.lang.Double>
calculateMajorTickValues(double axisLength, AxisRange axisRange)
Calculate a list of all the data values for each tick mark in rangeprotected java.util.List<java.lang.Double>
calculateMinorTickValues()
Calculate a list of the data values for every minor tick markprotected static double
clampBoundToZero(double paddedBound, double bound)
If padding pushed the bound above or below zero - stick it to zero.double
computePreferredTickUnit(double axisLength)
Computes the preferred tick unit based on the upper/lower bounds and the length of the axis in screen coordinates.protected AxisRange
computeRange(double min, double max, double axisLength, double labelSize)
Computes range of this axis, similarly toAbstractAxis.autoRange(double, double, double, double)
.protected double
computeTickUnit(double rawTickUnit)
javafx.beans.property.BooleanProperty
forceZeroInRangeProperty()
Whentrue
zero is always included in the visible range.AxisTransform
getAxisTransform()
Gets the transformation (linear, logarithmic, etc) applied to the values of this axis.double
getDisplayPosition(double value)
Get the display position along this axis for a given value.protected static double
getEffectiveRange(double min, double max)
double
getLogarithmBase()
Returns the value of thelogarithmBaseProperty()
.LogAxisType
getLogAxisType()
double
getValueForDisplay(double displayPosition)
Get the data value for the given display position on this axis.double
getZeroPosition()
Get the display position of the zero line along this axis.boolean
isForceZeroInRange()
Returns the value of theforceZeroInRangeProperty()
.boolean
isLogAxis()
Returns the value of thelogAxisProperty()
.boolean
isValueOnAxis(double value)
Checks if the given value is plottable on this axisjavafx.beans.property.DoubleProperty
logarithmBaseProperty()
Base of the logarithm used by the axis, must be grater than 1.javafx.beans.property.BooleanProperty
logAxisProperty()
Whentrue
axis is being a log-axis (default = false)void
requestAxisLayout()
Request that the axis is laid out in the next layout pass.void
setForceZeroInRange(boolean value)
Sets the value of theforceZeroInRangeProperty()
.void
setLogarithmBase(double value)
Sets value of thelogarithmBaseProperty()
.void
setLogAxis(boolean value)
Sets the value of thelogAxisProperty()
.protected void
updateCachedVariables()
to be overwritten by derived class that want to cache variables for efficiency reasons-
Methods inherited from class de.gsi.chart.axes.spi.AbstractAxis
autoRange, axisLabelFormatterProperty, calculateNewScale, clearAxisCanvas, computePrefHeight, computePrefWidth, computeTickMarks, drawAxis, drawAxisLabel, drawAxisLabel, drawAxisLine, drawAxisPost, drawAxisPre, drawTickLabels, drawTickMarkLabel, drawTickMarks, fireInvalidated, forceRedraw, getAxisLabelFormatter, getCanvas, getGraphicsContext, getNewTickMark, getTickMarkLabel, invalidateCaches, invalidateRange, isLabelOverlapping, layoutChildren, measureTickMarkLength, recomputeTickMarks, recomputeTickMarks, setAxisLabelFormatter, setMax, setMin, shouldAnimate, snap, tickMarksUpdated, updateCSS
-
Methods inherited from class de.gsi.chart.axes.spi.AbstractAxisParameter
add, add, animatedProperty, animationDurationProperty, autoGrowRangingProperty, autoNotification, autoRangePaddingProperty, autoRangeRoundingProperty, autoRangingProperty, autoUnitScalingProperty, axisCenterPositionProperty, axisLabelGapProperty, axisLabelTextAlignmentProperty, axisPaddingProperty, clear, contains, dimIndexProperty, equalString, getAnimationDuration, getAutoRange, getAutoRangePadding, getAxisCenterPosition, getAxisLabel, getAxisLabelGap, getAxisLabelTextAlignment, getAxisPadding, getClassCssMetaData, getCssMetaData, getDimIndex, getLength, getMajorTickStyle, getMax, getMaxMajorTickLabelCount, getMin, getMinorTickCount, getMinorTickLength, getMinorTickMarks, getMinorTickMarkValues, getMinorTickStyle, getName, getOverlapPolicy, getRange, getScale, getSide, getTickLabelFill, getTickLabelFont, getTickLabelFormatter, getTickLabelGap, getTickLabelRotation, getTickLabelSpacing, getTickLength, getTickMarks, getTickMarkValues, getTickUnit, getUnit, getUnitScaling, getUserRange, invalidate, invertAxis, invertAxisProperty, invokeListener, isAnimated, isAutoGrowRanging, isAutoRangeRounding, isAutoRanging, isAutoUnitScaling, isDefined, isInvertedAxis, isMinorTickVisible, isTickLabelsVisible, isTickMarkVisible, isTimeAxis, isValid, maxMajorTickLabelCountProperty, maxProperty, minorTickCountProperty, minorTickLengthProperty, minorTickVisibleProperty, minProperty, nameProperty, overlapPolicyProperty, scaleProperty, set, set, set, setAnimated, setAnimationDuration, setAutoGrowRanging, setAutoRangePadding, setAutoRangeRounding, setAutoRanging, setAutoUnitScaling, setAxisCenterPosition, setAxisLabelGap, setAxisLabelTextAlignment, setAxisPadding, setDimIndex, setMaxMajorTickLabelCount, setMinorTickCount, setMinorTickLength, setMinorTickVisible, setName, setOverlapPolicy, setScale, setSide, setTickLabelFill, setTickLabelFont, setTickLabelFormatter, setTickLabelGap, setTickLabelRotation, setTickLabelSpacing, setTickLabelsVisible, setTickLength, setTickMarkVisible, setTickUnit, setTimeAxis, setUnit, setUnitScaling, setUnitScaling, sideProperty, tickLabelFillProperty, tickLabelFontProperty, tickLabelFormatterProperty, tickLabelGapProperty, tickLabelRotationProperty, tickLabelSpacingProperty, tickLabelsVisibleProperty, tickLengthProperty, tickMarkVisibleProperty, tickUnitProperty, timeAxisProperty, unitProperty, unitScalingProperty, updateAxisLabelAndUnit, updateEventListener, updateScaleAndUnitPrefix, validProperty
-
Methods inherited from class javafx.scene.layout.Region
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isResizable, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty
-
Methods inherited from class javafx.scene.Parent
getBaselineOffset, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, queryAccessibleAttribute, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
-
Methods inherited from class javafx.scene.Node
accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInitialFocusTraversable, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface de.gsi.chart.axes.Axis
autoGrowRangingProperty, autoRangingProperty, autoUnitScalingProperty, drawAxis, forceRedraw, getAutoRange, getCanvas, getHeight, getLength, getMinorTickCount, getMinorTickMarks, getRange, getSide, getTickLabelFill, getTickLabelFont, getTickLabelFormatter, getTickLabelGap, getTickLabelSpacing, getTickMarkLabel, getTickMarks, getTickUnit, getUnitScaling, getUserRange, getWidth, invalidateRange, invertAxis, invertAxisProperty, invokeListener, isAutoGrowRanging, isAutoRanging, isAutoUnitScaling, isInvertedAxis, isTimeAxis, maxProperty, minProperty, nameProperty, setAnimated, setAutoGrowRanging, setAutoRanging, setAutoUnitScaling, setName, setSide, setTickUnit, setTimeAxis, setUnit, setUnitScaling, setUnitScaling, sideProperty, tickUnitProperty, timeAxisProperty, unitProperty, unitScalingProperty
-
Methods inherited from interface de.gsi.dataset.AxisDescription
add, add, add, clear, contains, getDimIndex, getMax, getMin, getName, getUnit, isDefined, set, set, set, set, setMax, setMin
-
-
-
-
Field Detail
-
DEFAULT_LOG_MIN_VALUE
public static final double DEFAULT_LOG_MIN_VALUE
- See Also:
- Constant Field Values
-
isUpdating
protected boolean isUpdating
-
isLogAxis
protected boolean isLogAxis
-
-
Constructor Detail
-
DefaultNumericAxis
public DefaultNumericAxis()
Creates anauto-ranging
Axis.
-
DefaultNumericAxis
public DefaultNumericAxis(double lowerBound, double upperBound, double tickUnit)
Creates anon-auto-ranging
Axis with the given upper bound, lower bound and tick unit.- Parameters:
lowerBound
- thelower bound
of the axisupperBound
- theupper bound
of the axistickUnit
- the tick unit, i.e. space between tick marks
-
DefaultNumericAxis
public DefaultNumericAxis(java.lang.String axisLabel)
Creates anauto-ranging
Axis.- Parameters:
axisLabel
- the axislabel
-
DefaultNumericAxis
public DefaultNumericAxis(java.lang.String axisLabel, double lowerBound, double upperBound, double tickUnit)
Create anon-auto-ranging
Axis with the given upper bound, lower bound and tick unit.- Parameters:
axisLabel
- the axislabel
lowerBound
- thelower bound
of the axisupperBound
- theupper bound
of the axistickUnit
- the tick unit, i.e. space between tick marks
-
DefaultNumericAxis
public DefaultNumericAxis(java.lang.String axisLabel, java.lang.String unit)
Creates anauto-ranging
Axis.
-
-
Method Detail
-
computePreferredTickUnit
public double computePreferredTickUnit(double axisLength)
Computes the preferred tick unit based on the upper/lower bounds and the length of the axis in screen coordinates.- Specified by:
computePreferredTickUnit
in classAbstractAxis
- Parameters:
axisLength
- the length in screen coordinates- Returns:
- the tick unit
-
forceZeroInRangeProperty
public javafx.beans.property.BooleanProperty forceZeroInRangeProperty()
Whentrue
zero is always included in the visible range. This only has effect ifauto-ranging
is on.- Returns:
- forceZeroInRange property
-
getAxisTransform
public AxisTransform getAxisTransform()
Gets the transformation (linear, logarithmic, etc) applied to the values of this axis.- Specified by:
getAxisTransform
in interfaceAxis
- Returns:
- the axis transformation
-
getDisplayPosition
public double getDisplayPosition(double value)
Get the display position along this axis for a given value. If the value is not in the current range, the returned value will be an extrapolation of the display position. -- cached double optimised version (shaves of 50% on delays)- Specified by:
getDisplayPosition
in interfaceAxis
- Overrides:
getDisplayPosition
in classAbstractAxis
- Parameters:
value
- The data value to work out display position for- Returns:
- display position
-
getLogarithmBase
public double getLogarithmBase()
Returns the value of thelogarithmBaseProperty()
.- Returns:
- base of the logarithm
-
getLogAxisType
public LogAxisType getLogAxisType()
- Specified by:
getLogAxisType
in interfaceAxis
- Returns:
- the log axis Type @see LogAxisType
-
getValueForDisplay
public double getValueForDisplay(double displayPosition)
Get the data value for the given display position on this axis. If the axis is a CategoryAxis this will be the nearest value. -- cached double optimised version (shaves of 50% on delays)- Specified by:
getValueForDisplay
in interfaceAxis
- Parameters:
displayPosition
- A pixel position on this axis- Returns:
- the nearest data value to the given pixel position or null if not on axis;
-
getZeroPosition
public double getZeroPosition()
Get the display position of the zero line along this axis.- Specified by:
getZeroPosition
in interfaceAxis
- Overrides:
getZeroPosition
in classAbstractAxis
- Returns:
- display position or Double.NaN if zero is not in current range;
-
isForceZeroInRange
public boolean isForceZeroInRange()
Returns the value of theforceZeroInRangeProperty()
.- Returns:
- value of the forceZeroInRange property
-
isLogAxis
public boolean isLogAxis()
Returns the value of thelogAxisProperty()
.
-
isValueOnAxis
public boolean isValueOnAxis(double value)
Checks if the given value is plottable on this axis- Specified by:
isValueOnAxis
in interfaceAxis
- Overrides:
isValueOnAxis
in classAbstractAxis
- Parameters:
value
- The value to check if its on axis- Returns:
- true if the given value is plottable on this axis
-
logarithmBaseProperty
public javafx.beans.property.DoubleProperty logarithmBaseProperty()
Base of the logarithm used by the axis, must be grater than 1.Default value: 10
- Returns:
- base of the logarithm
-
logAxisProperty
public javafx.beans.property.BooleanProperty logAxisProperty()
Whentrue
axis is being a log-axis (default = false)- Returns:
- logAxis property
- See Also:
for more infomation
-
requestAxisLayout
public void requestAxisLayout()
Description copied from class:AbstractAxis
Request that the axis is laid out in the next layout pass. This replaces requestLayout() as it has been overridden to do nothing so that changes to children's bounds etc do not cause a layout. This was done as a optimisation as the Axis knows the exact minimal set of changes that really need layout to be updated. So we only want to request layout then, not on any child change.- Specified by:
requestAxisLayout
in interfaceAxis
- Overrides:
requestAxisLayout
in classAbstractAxis
-
setForceZeroInRange
public void setForceZeroInRange(boolean value)
Sets the value of theforceZeroInRangeProperty()
.- Parameters:
value
- iftrue
, zero is always included in the visible range
-
setLogarithmBase
public void setLogarithmBase(double value)
Sets value of thelogarithmBaseProperty()
.- Parameters:
value
- base of the logarithm, value > 1
-
setLogAxis
public void setLogAxis(boolean value)
Sets the value of thelogAxisProperty()
.- Parameters:
value
- iftrue
, log axis is drawn
-
autoRange
protected AxisRange autoRange(double minValue, double maxValue, double length, double labelSize)
- Specified by:
autoRange
in classAbstractAxis
-
calculateMajorTickValues
protected java.util.List<java.lang.Double> calculateMajorTickValues(double axisLength, AxisRange axisRange)
Description copied from class:AbstractAxis
Calculate a list of all the data values for each tick mark in range- Specified by:
calculateMajorTickValues
in classAbstractAxis
- Parameters:
axisLength
- The length of the axis in display unitsaxisRange
- A range object returned from autoRange()- Returns:
- A list of tick marks that fit along the axis if it was the given length
-
calculateMinorTickValues
protected java.util.List<java.lang.Double> calculateMinorTickValues()
Description copied from class:AbstractAxis
Calculate a list of the data values for every minor tick mark- Specified by:
calculateMinorTickValues
in classAbstractAxis
- Returns:
- List of data values where to draw minor tick marks
-
computeRange
protected AxisRange computeRange(double min, double max, double axisLength, double labelSize)
Description copied from class:AbstractAxis
Computes range of this axis, similarly toAbstractAxis.autoRange(double, double, double, double)
. The major difference is that this method is called whenauto-range
is off.- Specified by:
computeRange
in classAbstractAxis
- Parameters:
min
- The min data value that needs to be plotted on this axismax
- The max data value that needs to be plotted on this axisaxisLength
- The length of the axis in display coordinateslabelSize
- The approximate average size a label takes along the axis- Returns:
- The calculated range
- See Also:
AbstractAxis.autoRange(double, double, double, double)
-
computeTickUnit
protected double computeTickUnit(double rawTickUnit)
-
updateCachedVariables
protected void updateCachedVariables()
Description copied from class:AbstractAxisParameter
to be overwritten by derived class that want to cache variables for efficiency reasons- Overrides:
updateCachedVariables
in classAbstractAxisParameter
-
clampBoundToZero
protected static double clampBoundToZero(double paddedBound, double bound)
If padding pushed the bound above or below zero - stick it to zero.- Parameters:
paddedBound
- padded version of boundbound
- computed raw version of bound- Returns:
- clamped value
-
getEffectiveRange
protected static double getEffectiveRange(double min, double max)
-
-