Class 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 to false 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.
    • Field Summary

      • Fields inherited from class javafx.scene.layout.Region

        USE_COMPUTED_SIZE, USE_PREF_SIZE
      • Fields inherited from class javafx.scene.Node

        BASELINE_OFFSET_SAME_AS_HEIGHT
    • 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.Pane

        getChildren
      • 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
      • Methods inherited from interface javafx.css.Styleable

        getStyleableNode
    • Constructor Detail

      • MultiXYChart

        public MultiXYChart()
      • MultiXYChart

        public MultiXYChart​(Double pStrokeWidth)
      • MultiXYChart

        public MultiXYChart​(boolean pDistinctStrokes,
                            boolean pClosestToMouseMarkerAmongAllSeries)
        Parameters:
        pDistinctStrokes - If true, 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 - If true, 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()
      • 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()