- java.lang.Object
-
- javafx.scene.Node
-
- javafx.scene.Parent
-
- javafx.scene.layout.Region
-
- javafx.scene.layout.Pane
-
- javafx.scene.layout.VBox
-
- com.iamsoft.util.ui.javafx.chart.MultiXYChart<X,Y>
-
- Type Parameters:
X
- Type of horizontal (X) axis.Y
- Type of vertical (Y) axis.
- All Implemented Interfaces:
javafx.css.Styleable
,javafx.event.EventTarget
- Direct Known Subclasses:
TableTimeSeriesChart
@DefaultProperty("layers") public class MultiXYChart<X,Y> extends javafx.scene.layout.VBox
Supports guide-lines and multiple axes. For the multi-chart to work properly, it is imperative the Y-axes to be configured properly before assigning them to MultiXYChart.XYChartLayer - auto-ranging should be set tofalse
and proper lower/upper bounds should be set.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
MultiXYChart.XYChartLayer<X,Y>
To properly maintain Y-axis ranges between multiple Y-axes, proper lower/upper bounds should be set for Y-axes before creating chart layers.
-
Constructor Summary
Constructors Constructor Description MultiXYChart()
MultiXYChart(boolean pDistinctStrokes, boolean pClosestToMouseMarkerAmongAllSeries)
MultiXYChart(Double pStrokeWidth)
MultiXYChart(Double pStrokeWidth, boolean pDistinctStrokes, boolean pClosestToMouseMarkerAmongAllSeries)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
autoRange()
void
autoRangeX()
void
autoRangeY()
javafx.beans.property.BooleanProperty
autoRangingProperty()
javafx.beans.property.BooleanProperty
autoTrimmingTickLabelFormattingProperty()
javafx.beans.property.ObjectProperty<ClosestDataPointFunction<X,Y>>
closestDataPointFunctionProperty()
javafx.beans.property.ObjectProperty<Function<javafx.scene.chart.XYChart.Data<X,Y>,String>>
closestToMouseStringConverterProperty()
javafx.beans.value.ObservableValue<javafx.geometry.Insets>
contentInsets()
Insets that define location of chart content.void
dispose()
javafx.collections.ObservableList<javafx.scene.chart.Axis<?>>
getAlternateSideAxes()
ClosestDataPointFunction<X,Y>
getClosestDataPointFunction()
javafx.collections.ObservableList<javafx.beans.property.ReadOnlyObjectProperty<javafx.scene.chart.XYChart.Data<X,Y>>>
getClosestToMousePoints()
Function<javafx.scene.chart.XYChart.Data<X,Y>,String>
getClosestToMouseStringConverter()
javafx.geometry.Insets
getContentInsets()
javafx.collections.ObservableList<MultiXYChart.XYChartLayer<? extends X,? extends Y>>
getLayers()
List of layers that make up chart.boolean
getSnapToClosestPoint()
double
getXAxisLowerBound()
double
getXAxisUpperBound()
double
getYAxisLowerBound()
double
getYAxisUpperBound()
boolean
isAutoRanging()
boolean
isAutoTrimmingTickLabelFormatting()
boolean
isLegendVisible()
javafx.beans.property.BooleanProperty
legendVisibleProperty()
void
setAutoRanging(boolean pAutoRanging)
void
setAutoTrimmingTickLabelFormatting(boolean pAutoTrimmingTickLabelFormatting)
void
setClosestDataPointFunction(ClosestDataPointFunction<X,Y> pClosestDataPointFunction)
void
setClosestToMouseStringConverter(Function<javafx.scene.chart.XYChart.Data<X,Y>,String> pStringConverter)
void
setLegendVisible(boolean pVisible)
void
setSnapToClosestPoint(boolean pSnap)
javafx.beans.property.BooleanProperty
snapToClosestPointProperty()
javafx.beans.property.ReadOnlyDoubleProperty
xAxisLowerBoundProperty()
javafx.beans.property.ReadOnlyDoubleProperty
xAxisUpperBoundProperty()
javafx.beans.property.ReadOnlyDoubleProperty
yAxisLowerBoundProperty()
javafx.beans.property.ReadOnlyDoubleProperty
yAxisUpperBoundProperty()
-
Methods inherited from class javafx.scene.layout.VBox
alignmentProperty, clearConstraints, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, fillWidthProperty, getAlignment, getClassCssMetaData, getContentBias, getCssMetaData, getMargin, getSpacing, getVgrow, isFillWidth, layoutChildren, requestLayout, setAlignment, setFillWidth, setMargin, setSpacing, setVgrow, spacingProperty
-
Methods inherited from class javafx.scene.layout.Region
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computeMaxHeight, computeMaxWidth, 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, 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, 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
-
-
-
-
Constructor Detail
-
MultiXYChart
public MultiXYChart()
-
MultiXYChart
public MultiXYChart(Double pStrokeWidth)
-
MultiXYChart
public MultiXYChart(boolean pDistinctStrokes, boolean pClosestToMouseMarkerAmongAllSeries)
- Parameters:
pDistinctStrokes
- Iftrue
, series lines of a layer will have distinct strokes and each layer will have distinct color for series lines. Otherwise, series lines of a layer will have distinct colors and each layer will have distinct stroke.
-
MultiXYChart
public MultiXYChart(Double pStrokeWidth, boolean pDistinctStrokes, boolean pClosestToMouseMarkerAmongAllSeries)
- Parameters:
pDistinctStrokes
- Iftrue
, series lines of a layer will have distinct strokes and each layer will have distinct color for series lines. Otherwise, series lines of a layer will have distinct colors and each layer will have distinct stroke.
-
-
Method Detail
-
contentInsets
public final javafx.beans.value.ObservableValue<javafx.geometry.Insets> contentInsets()
Insets that define location of chart content. TODO: use Bounds?
-
getContentInsets
public final javafx.geometry.Insets getContentInsets()
-
autoRangingProperty
public final javafx.beans.property.BooleanProperty autoRangingProperty()
-
isAutoRanging
public final boolean isAutoRanging()
-
setAutoRanging
public final void setAutoRanging(boolean pAutoRanging)
-
autoTrimmingTickLabelFormattingProperty
public final javafx.beans.property.BooleanProperty autoTrimmingTickLabelFormattingProperty()
-
isAutoTrimmingTickLabelFormatting
public final boolean isAutoTrimmingTickLabelFormatting()
-
setAutoTrimmingTickLabelFormatting
public final void setAutoTrimmingTickLabelFormatting(boolean pAutoTrimmingTickLabelFormatting)
-
snapToClosestPointProperty
public final javafx.beans.property.BooleanProperty snapToClosestPointProperty()
-
getSnapToClosestPoint
public final boolean getSnapToClosestPoint()
-
setSnapToClosestPoint
public final void setSnapToClosestPoint(boolean pSnap)
-
xAxisLowerBoundProperty
public final javafx.beans.property.ReadOnlyDoubleProperty xAxisLowerBoundProperty()
-
getXAxisLowerBound
public final double getXAxisLowerBound()
-
xAxisUpperBoundProperty
public final javafx.beans.property.ReadOnlyDoubleProperty xAxisUpperBoundProperty()
-
getXAxisUpperBound
public final double getXAxisUpperBound()
-
yAxisLowerBoundProperty
public final javafx.beans.property.ReadOnlyDoubleProperty yAxisLowerBoundProperty()
-
getYAxisLowerBound
public final double getYAxisLowerBound()
-
yAxisUpperBoundProperty
public final javafx.beans.property.ReadOnlyDoubleProperty yAxisUpperBoundProperty()
-
getYAxisUpperBound
public final double getYAxisUpperBound()
-
legendVisibleProperty
public final javafx.beans.property.BooleanProperty legendVisibleProperty()
-
isLegendVisible
public final boolean isLegendVisible()
-
setLegendVisible
public final void setLegendVisible(boolean pVisible)
-
closestToMouseStringConverterProperty
public final javafx.beans.property.ObjectProperty<Function<javafx.scene.chart.XYChart.Data<X,Y>,String>> closestToMouseStringConverterProperty()
-
getClosestToMouseStringConverter
public final Function<javafx.scene.chart.XYChart.Data<X,Y>,String> getClosestToMouseStringConverter()
-
setClosestToMouseStringConverter
public final void setClosestToMouseStringConverter(Function<javafx.scene.chart.XYChart.Data<X,Y>,String> pStringConverter)
-
closestDataPointFunctionProperty
public final javafx.beans.property.ObjectProperty<ClosestDataPointFunction<X,Y>> closestDataPointFunctionProperty()
-
getClosestDataPointFunction
public final ClosestDataPointFunction<X,Y> getClosestDataPointFunction()
-
setClosestDataPointFunction
public final void setClosestDataPointFunction(ClosestDataPointFunction<X,Y> pClosestDataPointFunction)
-
getLayers
public final javafx.collections.ObservableList<MultiXYChart.XYChartLayer<? extends X,? extends Y>> getLayers()
List of layers that make up chart. Note that layers may share axes. Axes are pushed out from chart in the order they appear in this list. In other words, if there are two distinct west-side axes at indices 0 and 1, the axis at index 1 will be displayed to the west of axis at index 0.
-
getAlternateSideAxes
public final javafx.collections.ObservableList<javafx.scene.chart.Axis<?>> getAlternateSideAxes()
-
getClosestToMousePoints
public javafx.collections.ObservableList<javafx.beans.property.ReadOnlyObjectProperty<javafx.scene.chart.XYChart.Data<X,Y>>> getClosestToMousePoints()
-
autoRange
public void autoRange()
-
autoRangeX
public void autoRangeX()
-
autoRangeY
public void autoRangeY()
-
dispose
public void dispose()
-
-