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,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-rangingis off - Supports configuration of
auto-range padding - Supports configuration of
auto-range rounding - Supports custom
tickUnitSupplierPropertytick unit suppliers
- Author:
- rstein
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classDefaultNumericAxis.Cache
-
Field Summary
Fields Modifier and Type Field Description static doubleDEFAULT_LOG_MIN_VALUEprotected booleanisLogAxisprotected booleanisUpdating-
Fields inherited from class de.gsi.chart.axes.spi.AbstractAxis
animator, BURST_LIMIT_CSS_MS, cachedOffset, currentLowerBound, 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
DEFAULT_MINOR_TICK_COUNT, isInvertedAxis, isTimeAxis, majorTickMarks, majorTickMarkValues, maxProp, minorTickMarks, minorTickMarkValues, minProp, oldAxisLength, oldAxisMax, oldAxisMin, oldTickUnit, scaleBinding, tickLabelRotation, tickUnit, valid
-
-
Constructor Summary
Constructors Constructor Description DefaultNumericAxis()Creates anauto-rangingAxis.DefaultNumericAxis(double lowerBound, double upperBound, double tickUnit)Creates anon-auto-rangingAxis with the given upper bound, lower bound and tick unit.DefaultNumericAxis(java.lang.String axisLabel)Creates anauto-rangingAxis.DefaultNumericAxis(java.lang.String axisLabel, double lowerBound, double upperBound, double tickUnit)Create anon-auto-rangingAxis with the given upper bound, lower bound and tick unit.DefaultNumericAxis(java.lang.String axisLabel, java.lang.String unit)Creates anauto-rangingAxis.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected AxisRangeautoRange(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 doubleclampBoundToZero(double paddedBound, double bound)If padding pushed the bound above or below zero - stick it to zero.doublecomputePreferredTickUnit(double axisLength)Computes the preferred tick unit based on the upper/lower bounds and the length of the axis in screen coordinates.protected AxisRangecomputeRange(double min, double max, double axisLength, double labelSize)Computes range of this axis, similarly toAbstractAxis.autoRange(double, double, double, double).protected doublecomputeTickUnit(double rawTickUnit)javafx.beans.property.BooleanPropertyforceZeroInRangeProperty()Whentruezero is always included in the visible range.AxisTransformgetAxisTransform()Gets the transformation (linear, logarithmic, etc) applied to the values of this axis.doublegetDisplayPosition(double value)Get the display position along this axis for a given value.protected static doublegetEffectiveRange(double min, double max)doublegetLogarithmBase()Returns the value of thelogarithmBaseProperty().LogAxisTypegetLogAxisType()doublegetValueForDisplay(double displayPosition)Get the data value for the given display position on this axis.doublegetZeroPosition()Get the display position of the zero line along this axis.booleanisForceZeroInRange()Returns the value of theforceZeroInRangeProperty().booleanisLogAxis()Returns the value of thelogAxisProperty().booleanisValueOnAxis(double value)Checks if the given value is plottable on this axisjavafx.beans.property.DoublePropertylogarithmBaseProperty()Base of the logarithm used by the axis, must be grater than 1.javafx.beans.property.BooleanPropertylogAxisProperty()Whentrueaxis is being a log-axis (default = false)voidrequestAxisLayout()Request that the axis is laid out in the next layout pass.voidsetForceZeroInRange(boolean value)Sets the value of theforceZeroInRangeProperty().voidsetLogarithmBase(double value)Sets value of thelogarithmBaseProperty().voidsetLogAxis(boolean value)Sets the value of thelogAxisProperty().protected voidsetRange(AxisRange range, boolean animate)protected voidupdateCachedVariables()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, getAxisRange, getCanvas, getGraphicsContext, getMaxTickLabelHeight, getMaxTickLabelWidth, 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, axisLabelGapProperty, axisLabelTextAlignmentProperty, axisPaddingProperty, centerAxisPositionProperty, clear, contains, equalString, getaAxisLabelTextAlignment, getAnimationDuration, getAutoRange, getAutoRangePadding, getAxisCenterPosition, getAxisLabel, getAxisLabelGap, getAxisLabelTextAlignment, getAxisPadding, getCenterAxisPosition, getClassCssMetaData, getCssMetaData, getLength, getMajorTickStyle, getMax, getMaxMajorTickLabelCount, getMaxMaxjorTickLabelCount, 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, 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, tickLabelSpacing, 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, 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, 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-rangingAxis.
-
DefaultNumericAxis
public DefaultNumericAxis(double lowerBound, double upperBound, double tickUnit)Creates anon-auto-rangingAxis with the given upper bound, lower bound and tick unit.- Parameters:
lowerBound- thelower boundof the axisupperBound- theupper boundof the axistickUnit- the tick unit, i.e. space between tick marks
-
DefaultNumericAxis
public DefaultNumericAxis(java.lang.String axisLabel)
Creates anauto-rangingAxis.- Parameters:
axisLabel- the axislabel
-
DefaultNumericAxis
public DefaultNumericAxis(java.lang.String axisLabel, double lowerBound, double upperBound, double tickUnit)Create anon-auto-rangingAxis with the given upper bound, lower bound and tick unit.- Parameters:
axisLabel- the axislabellowerBound- thelower boundof the axisupperBound- theupper boundof the axistickUnit- the tick unit, i.e. space between tick marks
-
DefaultNumericAxis
public DefaultNumericAxis(java.lang.String axisLabel, java.lang.String unit)Creates anauto-rangingAxis.
-
-
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:
computePreferredTickUnitin classAbstractAxis- Parameters:
axisLength- the length in screen coordinates- Returns:
- the tick unit
-
forceZeroInRangeProperty
public javafx.beans.property.BooleanProperty forceZeroInRangeProperty()
Whentruezero is always included in the visible range. This only has effect ifauto-rangingis on.- Returns:
- forceZeroInRange property
-
getAxisTransform
public AxisTransform getAxisTransform()
Gets the transformation (linear, logarithmic, etc) applied to the values of this axis.- Specified by:
getAxisTransformin 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:
getDisplayPositionin interfaceAxis- Overrides:
getDisplayPositionin 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:
getLogAxisTypein 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:
getValueForDisplayin 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:
getZeroPositionin interfaceAxis- Overrides:
getZeroPositionin 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:
isValueOnAxisin interfaceAxis- Overrides:
isValueOnAxisin 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()
Whentrueaxis is being a log-axis (default = false)- Returns:
- logAxis property
- See Also:
for more infomation
-
requestAxisLayout
public void requestAxisLayout()
Description copied from class:AbstractAxisRequest 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:
requestAxisLayoutin interfaceAxis- Overrides:
requestAxisLayoutin 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)
- Overrides:
autoRangein classAbstractAxis
-
calculateMajorTickValues
protected java.util.List<java.lang.Double> calculateMajorTickValues(double axisLength, AxisRange axisRange)Description copied from class:AbstractAxisCalculate a list of all the data values for each tick mark in range- Specified by:
calculateMajorTickValuesin 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:AbstractAxisCalculate a list of the data values for every minor tick mark- Specified by:
calculateMinorTickValuesin 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:AbstractAxisComputes range of this axis, similarly toAbstractAxis.autoRange(double, double, double, double). The major difference is that this method is called whenauto-rangeis off.- Specified by:
computeRangein 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)
-
setRange
protected void setRange(AxisRange range, boolean animate)
- Overrides:
setRangein classAbstractAxis
-
updateCachedVariables
protected void updateCachedVariables()
Description copied from class:AbstractAxisto be overwritten by derived class that want to cache variables for efficiency reasons- Overrides:
updateCachedVariablesin classAbstractAxis
-
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)
-
-