- java.lang.Object
-
- javafx.scene.Node
-
- javafx.scene.Parent
-
- javafx.scene.layout.Region
-
- javafx.scene.chart.Chart
-
- javafx.scene.chart.XYChart<X,Y>
-
- javafx.scene.chart.LineChart<X,Y>
-
- eu.ess.xaos.ui.plot.LineChartFX<X,Y>
-
- Type Parameters:
X
- Type of X values.Y
- Type of Y values.
- All Implemented Interfaces:
Pluggable
,Styleable
,EventTarget
public class LineChartFX<X,Y> extends LineChart<X,Y> implements Pluggable
- Author:
- Grzegorz Kruk (original author)., claudio.rosati@esss.se
-
-
Property Summary
-
Properties inherited from class javafx.scene.chart.LineChart
axisSortingPolicy, createSymbols
-
Properties inherited from class javafx.scene.chart.XYChart
alternativeColumnFillVisible, alternativeRowFillVisible, data, horizontalGridLinesVisible, horizontalZeroLineVisible, verticalGridLinesVisible, verticalZeroLineVisible
-
Properties inherited from class javafx.scene.chart.Chart
animated, legend, legendSide, legendVisible, title, titleSide
-
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, 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/interfaces inherited from class javafx.scene.chart.LineChart
LineChart.SortingPolicy
-
-
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 LineChartFX(Axis<X> xAxis, Axis<Y> yAxis)
Construct a new line chart with the given axis and data.LineChartFX(Axis<X> xAxis, Axis<Y> yAxis, ObservableList<XYChart.Series<X,Y>> data)
Construct a new line chart with the given axis and data.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addChartPlugins(ObservableList<Plugin> plugins)
More robust method for adding plugins to chart.void
clear()
Clear all the data in the plot and the stylingChart
getChart()
ObservableList<Legend.LegendItem>
getLegendItems()
ObservableList<Node>
getPlotChildren()
ObservableList<Plugin>
getPlugins()
boolean
getShowMarkers()
Get the flag to enable/disable showing symbols on the plot.String
getUserAgentStylesheet()
boolean
isNotShownInLegend(String name)
Returns whether the series with the given name is displayed in chartLegend
or not.boolean
isSeriesDrawn(String name)
protected void
layoutPlotChildren()
static LineChartFX<Number,Number>
of(ObservableList<Double> data, String seriesName)
Quick way of creating a line chart showing the givendata
.protected void
seriesChanged(ListChangeListener.Change<? extends XYChart.Series> c)
Make sure the series is assigned the right style when added.void
setDefaultLineColors()
Replace default JavaFX colors by XAOS default colorsvoid
setHVLSeries(int horizontal, int vertical, int longitudinal)
Sets which series has to be considered "horizontal", "vertical" and "longitudinal".void
setLineStyle(XYChart.Series series, LineStyle style)
void
setLinesWidth(float width)
void
setMarkerSymbol(XYChart.Series series, MarkerSymbol symbol)
void
setNotShownInLegend(String name)
Specifies a series to not be shown in chartLegend
.void
setSeriesColor(XYChart.Series series, Color color)
Set the color used by a seriesvoid
setSeriesDrawn(String name, boolean flag)
void
setShowLine(XYChart.Series series, boolean flag)
Toggle display line option for the specified series and update the plot By default, lines are shown in LineChartFXvoid
setShowMarker(XYChart.Series series, boolean flag)
Toggle display markers for the specified series and update the plot By default, markers are not shown in LineChartFXvoid
setShowMarkers(boolean flag)
Set the flag to enable/disable showing symbols on the plot.protected void
updateAxisRange()
protected void
updateLegend()
-
Methods inherited from class javafx.scene.chart.LineChart
axisSortingPolicyProperty, createSymbolsProperty, dataItemAdded, dataItemChanged, dataItemRemoved, getAxisSortingPolicy, getClassCssMetaData, getCreateSymbols, getCssMetaData, seriesAdded, seriesRemoved, setAxisSortingPolicy, setCreateSymbols
-
Methods inherited from class javafx.scene.chart.XYChart
alternativeColumnFillVisibleProperty, alternativeRowFillVisibleProperty, currentDisplayedExtraValueProperty, currentDisplayedXValueProperty, currentDisplayedYValueProperty, dataProperty, getCurrentDisplayedExtraValue, getCurrentDisplayedXValue, getCurrentDisplayedYValue, getData, getDisplayedDataIterator, getDisplayedSeriesIterator, getVerticalGridLinesVisible, getXAxis, getYAxis, horizontalGridLinesVisibleProperty, horizontalZeroLineVisibleProperty, isAlternativeColumnFillVisible, isAlternativeRowFillVisible, isHorizontalGridLinesVisible, isHorizontalZeroLineVisible, isVerticalZeroLineVisible, layoutChartChildren, removeDataItemFromDisplay, removeSeriesFromDisplay, setAlternativeColumnFillVisible, setAlternativeRowFillVisible, setCurrentDisplayedExtraValue, setCurrentDisplayedXValue, setCurrentDisplayedYValue, setData, setHorizontalGridLinesVisible, setHorizontalZeroLineVisible, setVerticalGridLinesVisible, setVerticalZeroLineVisible, verticalGridLinesVisibleProperty, verticalZeroLineVisibleProperty
-
Methods inherited from class javafx.scene.chart.Chart
animate, animatedProperty, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, getAnimated, getChartChildren, getLegend, getLegendSide, getTitle, getTitleSide, isLegendVisible, layoutChildren, legendProperty, legendSideProperty, legendVisibleProperty, requestChartLayout, setAnimated, setLegend, setLegendSide, setLegendVisible, setTitle, setTitleSide, shouldAnimate, titleProperty, titleSideProperty
-
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, 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, getChildren, 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 javafx.css.Styleable
getStyleableNode
-
-
-
-
Constructor Detail
-
LineChartFX
public LineChartFX(Axis<X> xAxis, Axis<Y> yAxis)
Construct a new line chart with the given axis and data.- Parameters:
xAxis
- The x axis to use.yAxis
- The y axis to use.- See Also:
LineChart(Axis, Axis)
-
LineChartFX
public LineChartFX(Axis<X> xAxis, Axis<Y> yAxis, ObservableList<XYChart.Series<X,Y>> data)
Construct a new line chart with the given axis and data.- Parameters:
xAxis
- The x axis to use.yAxis
- The y axis to use.data
- The data to use, this is the actual list used so any changes to it will be reflected in the chart.- See Also:
LineChart(Axis, Axis, ObservableList)
-
-
Method Detail
-
of
public static LineChartFX<Number,Number> of(ObservableList<Double> data, String seriesName)
Quick way of creating a line chart showing the givendata
. X axis will contain the index in the data point in the given list.- Parameters:
data
- The data list to be charted.seriesName
- The name of theXYChart.Series
created from the givendata
.- Returns:
- A
LineChartFX
chart.
-
getUserAgentStylesheet
public String getUserAgentStylesheet()
- Overrides:
getUserAgentStylesheet
in classRegion
-
addChartPlugins
public void addChartPlugins(ObservableList<Plugin> plugins)
More robust method for adding plugins to chart.Note: Only necessary if more than one plugin is being added at once.
- Parameters:
plugins
- List ofPlugin
s to be added.
-
getChart
public Chart getChart()
-
getLegendItems
public ObservableList<Legend.LegendItem> getLegendItems()
- Specified by:
getLegendItems
in interfacePluggable
- Returns:
- The an
ObservableList
ofLegend.LegendItem
displayed in theLegend
of the pluggable chart.
-
getPlotChildren
public final ObservableList<Node> getPlotChildren()
- Specified by:
getPlotChildren
in interfacePluggable
- Overrides:
getPlotChildren
in classXYChart<X,Y>
- Returns:
- The pluggable chart's plot children list.
-
getPlugins
public final ObservableList<Plugin> getPlugins()
- Specified by:
getPlugins
in interfacePluggable
- Returns:
- A non-
null
list of plugins added to the chart.
-
isNotShownInLegend
public boolean isNotShownInLegend(String name)
Description copied from interface:Pluggable
Returns whether the series with the given name is displayed in chartLegend
or not.- Specified by:
isNotShownInLegend
in interfacePluggable
- Parameters:
name
- The name of the series to be checked.- Returns:
true
if the series with the given name is not shown in chartLegend
.
-
isSeriesDrawn
public boolean isSeriesDrawn(String name)
-
setSeriesDrawn
public void setSeriesDrawn(String name, boolean flag)
-
setHVLSeries
public final void setHVLSeries(int horizontal, int vertical, int longitudinal)
Sets which series has to be considered "horizontal", "vertical" and "longitudinal". Special colors will be used to represent horizontal (red), vertical (blue) and longitudinal (green) series.- Parameters:
horizontal
- Index of the horizontal series. Use -1 if no horizontal series exists.vertical
- Index of the vertical series. Use -1 if no vertical series exists.longitudinal
- Index of the longitudinal series. Use -1 if no longitudinal series exists.
-
setNotShownInLegend
public final void setNotShownInLegend(String name)
Description copied from interface:Pluggable
Specifies a series to not be shown in chartLegend
.- Specified by:
setNotShownInLegend
in interfacePluggable
- Parameters:
name
- The name of the series to not be shown in chartLegend
.
-
layoutPlotChildren
protected void layoutPlotChildren()
- Overrides:
layoutPlotChildren
in classLineChart<X,Y>
-
seriesChanged
protected void seriesChanged(ListChangeListener.Change<? extends XYChart.Series> c)
Make sure the series is assigned the right style when added. Also make sure to use setSeriesDrawn if you want to make sure the plot is not plotted.- Overrides:
seriesChanged
in classLineChart<X,Y>
- Parameters:
c
-
-
updateAxisRange
protected void updateAxisRange()
- Overrides:
updateAxisRange
in classLineChart<X,Y>
-
updateLegend
protected void updateLegend()
- Overrides:
updateLegend
in classXYChart<X,Y>
-
setSeriesColor
public void setSeriesColor(XYChart.Series series, Color color)
Set the color used by a series- Parameters:
series
- the seriescolor
-
-
setShowLine
public void setShowLine(XYChart.Series series, boolean flag)
Toggle display line option for the specified series and update the plot By default, lines are shown in LineChartFX- Parameters:
series
- the seriesflag
- True to enable line, False to disable
-
setLinesWidth
public void setLinesWidth(float width)
-
setLineStyle
public void setLineStyle(XYChart.Series series, LineStyle style)
-
setShowMarker
public void setShowMarker(XYChart.Series series, boolean flag)
Toggle display markers for the specified series and update the plot By default, markers are not shown in LineChartFX- Parameters:
series
- the seriesflag
- True to enable markers, False to disable
-
setShowMarkers
public void setShowMarkers(boolean flag)
Set the flag to enable/disable showing symbols on the plot. Use this method instead of setCreateSymbols because the create Symbols flags must always be enabled in this chart. Enabling/disabling symbols is done by CSS styling.- Parameters:
flag
-
-
getShowMarkers
public boolean getShowMarkers()
Get the flag to enable/disable showing symbols on the plot.- Returns:
-
setMarkerSymbol
public void setMarkerSymbol(XYChart.Series series, MarkerSymbol symbol)
-
setDefaultLineColors
public void setDefaultLineColors()
Replace default JavaFX colors by XAOS default colors
-
clear
public void clear()
Clear all the data in the plot and the styling
-
-