Class MultiXYChart<X,Y>

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 to false and proper lower/upper bounds should be set.
  • Property Summary

    Properties
    Type
    Property
    Description
    final javafx.beans.property.BooleanProperty
     
    final javafx.beans.property.BooleanProperty
     
    final javafx.beans.property.ObjectProperty<ClosestDataPointFunction<X,Y>>
     
    final javafx.beans.property.ObjectProperty<Function<javafx.scene.chart.XYChart.Data<X,Y>,String>>
     
    final javafx.beans.property.BooleanProperty
     
    final javafx.beans.property.BooleanProperty
     
    final javafx.beans.property.ReadOnlyDoubleProperty
     
    final javafx.beans.property.ReadOnlyDoubleProperty
     
    final javafx.beans.property.ReadOnlyDoubleProperty
     
    final javafx.beans.property.ReadOnlyDoubleProperty
     

    Properties inherited from class javafx.scene.layout.VBox

    alignment, fillWidth, spacing

    Properties inherited from class javafx.scene.layout.Region

    background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, width

    Properties inherited from class javafx.scene.Parent

    needsLayout

    Properties inherited from class javafx.scene.Node

    accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, focusVisible, focusWithin, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, viewOrder, visible
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    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(boolean pDistinctStrokes, boolean pClosestToMouseMarkerAmongAllSeries)
     
    MultiXYChart(Double pStrokeWidth)
     
    MultiXYChart(Double pStrokeWidth, boolean pDistinctStrokes, boolean pClosestToMouseMarkerAmongAllSeries)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    void
     
    void
     
    final javafx.beans.property.BooleanProperty
     
    final javafx.beans.property.BooleanProperty
     
    final javafx.beans.property.ObjectProperty<ClosestDataPointFunction<X,Y>>
     
    final javafx.beans.property.ObjectProperty<Function<javafx.scene.chart.XYChart.Data<X,Y>,String>>
     
    final javafx.beans.value.ObservableValue<javafx.geometry.Insets>
    Insets that define location of chart content.
    void
     
    final javafx.collections.ObservableList<javafx.scene.chart.Axis<?>>
     
    Gets the value of the property closestDataPointFunction.
    javafx.collections.ObservableList<javafx.beans.property.ReadOnlyObjectProperty<javafx.scene.chart.XYChart.Data<X,Y>>>
     
    final Function<javafx.scene.chart.XYChart.Data<X,Y>,String>
    Gets the value of the property closestToMouseStringConverter.
    final javafx.geometry.Insets
     
    final javafx.collections.ObservableList<MultiXYChart.XYChartLayer<? extends X,? extends Y>>
    List of layers that make up chart.
    final boolean
    Gets the value of the property snapToClosestPoint.
    final double
    Gets the value of the property xAxisLowerBound.
    final double
    Gets the value of the property xAxisUpperBound.
    final double
    Gets the value of the property yAxisLowerBound.
    final double
    Gets the value of the property yAxisUpperBound.
    final boolean
    Gets the value of the property autoRanging.
    final boolean
    Gets the value of the property autoTrimmingTickLabelFormatting.
    final boolean
    Gets the value of the property legendVisible.
    final javafx.beans.property.BooleanProperty
     
    final void
    setAutoRanging(boolean pAutoRanging)
    Sets the value of the property autoRanging.
    final void
    setAutoTrimmingTickLabelFormatting(boolean pAutoTrimmingTickLabelFormatting)
    Sets the value of the property autoTrimmingTickLabelFormatting.
    final void
    Sets the value of the property closestDataPointFunction.
    final void
    setClosestToMouseStringConverter(Function<javafx.scene.chart.XYChart.Data<X,Y>,String> pStringConverter)
    Sets the value of the property closestToMouseStringConverter.
    final void
    setLegendVisible(boolean pVisible)
    Sets the value of the property legendVisible.
    final void
    setSnapToClosestPoint(boolean pSnap)
    Sets the value of the property snapToClosestPoint.
    final javafx.beans.property.BooleanProperty
     
    final javafx.beans.property.ReadOnlyDoubleProperty
     
    final javafx.beans.property.ReadOnlyDoubleProperty
     
    final javafx.beans.property.ReadOnlyDoubleProperty
     
    final javafx.beans.property.ReadOnlyDoubleProperty
     

    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, focusVisibleProperty, focusWithinProperty, 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, isFocusVisible, isFocusWithin, 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 javafx.css.Styleable

    getStyleableNode
  • Property Details

  • Constructor Details

    • 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 Details

    • 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()
      See Also:
    • isAutoRanging

      public final boolean isAutoRanging()
      Gets the value of the property autoRanging.
      Property description:
    • setAutoRanging

      public final void setAutoRanging(boolean pAutoRanging)
      Sets the value of the property autoRanging.
      Property description:
    • autoTrimmingTickLabelFormattingProperty

      public final javafx.beans.property.BooleanProperty autoTrimmingTickLabelFormattingProperty()
      See Also:
    • isAutoTrimmingTickLabelFormatting

      public final boolean isAutoTrimmingTickLabelFormatting()
      Gets the value of the property autoTrimmingTickLabelFormatting.
      Property description:
    • setAutoTrimmingTickLabelFormatting

      public final void setAutoTrimmingTickLabelFormatting(boolean pAutoTrimmingTickLabelFormatting)
      Sets the value of the property autoTrimmingTickLabelFormatting.
      Property description:
    • snapToClosestPointProperty

      public final javafx.beans.property.BooleanProperty snapToClosestPointProperty()
      See Also:
    • getSnapToClosestPoint

      public final boolean getSnapToClosestPoint()
      Gets the value of the property snapToClosestPoint.
      Property description:
    • setSnapToClosestPoint

      public final void setSnapToClosestPoint(boolean pSnap)
      Sets the value of the property snapToClosestPoint.
      Property description:
    • xAxisLowerBoundProperty

      public final javafx.beans.property.ReadOnlyDoubleProperty xAxisLowerBoundProperty()
      See Also:
    • getXAxisLowerBound

      public final double getXAxisLowerBound()
      Gets the value of the property xAxisLowerBound.
      Property description:
    • xAxisUpperBoundProperty

      public final javafx.beans.property.ReadOnlyDoubleProperty xAxisUpperBoundProperty()
      See Also:
    • getXAxisUpperBound

      public final double getXAxisUpperBound()
      Gets the value of the property xAxisUpperBound.
      Property description:
    • yAxisLowerBoundProperty

      public final javafx.beans.property.ReadOnlyDoubleProperty yAxisLowerBoundProperty()
      See Also:
    • getYAxisLowerBound

      public final double getYAxisLowerBound()
      Gets the value of the property yAxisLowerBound.
      Property description:
    • yAxisUpperBoundProperty

      public final javafx.beans.property.ReadOnlyDoubleProperty yAxisUpperBoundProperty()
      See Also:
    • getYAxisUpperBound

      public final double getYAxisUpperBound()
      Gets the value of the property yAxisUpperBound.
      Property description:
    • legendVisibleProperty

      public final javafx.beans.property.BooleanProperty legendVisibleProperty()
      See Also:
    • isLegendVisible

      public final boolean isLegendVisible()
      Gets the value of the property legendVisible.
      Property description:
    • setLegendVisible

      public final void setLegendVisible(boolean pVisible)
      Sets the value of the property legendVisible.
      Property description:
    • closestToMouseStringConverterProperty

      public final javafx.beans.property.ObjectProperty<Function<javafx.scene.chart.XYChart.Data<X,Y>,String>> closestToMouseStringConverterProperty()
      See Also:
    • getClosestToMouseStringConverter

      public final Function<javafx.scene.chart.XYChart.Data<X,Y>,String> getClosestToMouseStringConverter()
      Gets the value of the property closestToMouseStringConverter.
      Property description:
    • setClosestToMouseStringConverter

      public final void setClosestToMouseStringConverter(Function<javafx.scene.chart.XYChart.Data<X,Y>,String> pStringConverter)
      Sets the value of the property closestToMouseStringConverter.
      Property description:
    • closestDataPointFunctionProperty

      public final javafx.beans.property.ObjectProperty<ClosestDataPointFunction<X,Y>> closestDataPointFunctionProperty()
      See Also:
    • getClosestDataPointFunction

      public final ClosestDataPointFunction<X,Y> getClosestDataPointFunction()
      Gets the value of the property closestDataPointFunction.
      Property description:
    • setClosestDataPointFunction

      public final void setClosestDataPointFunction(ClosestDataPointFunction<X,Y> pClosestDataPointFunction)
      Sets the value of the property closestDataPointFunction.
      Property description:
    • 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()