- java.lang.Object
-
- javafx.scene.Node
-
- javafx.scene.Parent
-
- javafx.scene.layout.Region
-
- javafx.scene.chart.Chart
-
- eu.ess.xaos.ui.plot.DensityChartFX<X,Y>
-
- Type Parameters:
X
- Type of X values.Y
- Type of Y values.
- All Implemented Interfaces:
Pluggable
,Styleable
,EventTarget
public class DensityChartFX<X,Y> extends Chart implements Pluggable
DensityChartFX is a specialized chart that uses colors to represent data values.The colors to be used for values encoding can be specified via
setColorGradient(ColorGradient)
, which by default is initialized toDensityChartFX.ColorGradient.JET_COLOR
.- Author:
- Grzegorz Kruk (original author)., claudio.rosati@esss.se
-
-
Property Summary
-
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 Modifier and Type Class Description static class
DensityChartFX.AbstractData<X,Y>
Abstract data implementingObservable
interface.static class
DensityChartFX.ColorGradient
Color gradient class provides colors to encodeDensityChartFX
data values.static interface
DensityChartFX.Data<X,Y>
Heat map data.static class
DensityChartFX.DefaultData<X,Y>
DensityChartFX.Data
implementation based on arrays.static class
DensityChartFX.ProjectionData<X,Y>
DensityChartFX.Data
implementation based on arrays.
-
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 DensityChartFX(Axis<X> xAxis, Axis<Y> yAxis)
Construct a new DensityChartFX with the given axis.
-
Method Summary
-
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, 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, 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
-
-
-
-
Property Detail
-
colorGradient
public ObjectProperty<DensityChartFX.ColorGradient> colorGradientProperty
-
data
public final ObjectProperty<DensityChartFX.Data<X,Y>> dataProperty
- See Also:
getData()
,setData(DensityChartFX.Data)
-
horizontalGridLinesVisible
public final BooleanProperty horizontalGridLinesVisibleProperty
-
logZAxis
public final BooleanProperty logZAxisProperty
- See Also:
isLogZAxis()
,setLogZAxis(boolean)
-
projectionLinesVisible
public final BooleanProperty projectionLinesVisibleProperty
-
smooth
public BooleanProperty smoothProperty
- See Also:
isSmooth()
,setSmooth(boolean)
-
verticalGridLinesVisible
public final BooleanProperty verticalGridLinesVisibleProperty
-
-
Method Detail
-
getClassCssMetaData
public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
- Returns:
- The
CssMetaData
associated with this class, which may include theCssMetaData
of its super classes.
-
colorGradientProperty
public ObjectProperty<DensityChartFX.ColorGradient> colorGradientProperty()
-
getColorGradient
public DensityChartFX.ColorGradient getColorGradient()
- Returns:
- Color gradient (linear) used to encode data point values.
- See Also:
colorGradientProperty()
-
setColorGradient
public void setColorGradient(DensityChartFX.ColorGradient value)
- Parameters:
value
- The color gradient to be used.- See Also:
colorGradientProperty()
-
dataProperty
public final ObjectProperty<DensityChartFX.Data<X,Y>> dataProperty()
- See Also:
getData()
,setData(DensityChartFX.Data)
-
getData
public final DensityChartFX.Data<X,Y> getData()
- Returns:
- The data used by this chart.
- See Also:
dataProperty()
-
setData
public final void setData(DensityChartFX.Data<X,Y> value)
- Parameters:
value
- The data to be rendered by this chart.- See Also:
dataProperty()
-
horizontalGridLinesVisibleProperty
public final BooleanProperty horizontalGridLinesVisibleProperty()
-
isHorizontalGridLinesVisible
public final boolean isHorizontalGridLinesVisible()
- Returns:
true
if horizontal grid lines are visible,false
otherwise.- See Also:
horizontalGridLinesVisibleProperty()
-
setHorizontalGridLinesVisible
public final void setHorizontalGridLinesVisible(boolean value)
- Parameters:
value
-true
to make horizontal lines visible.- See Also:
horizontalGridLinesVisibleProperty()
-
logZAxisProperty
public final BooleanProperty logZAxisProperty()
- See Also:
isLogZAxis()
,setLogZAxis(boolean)
-
isLogZAxis
public final boolean isLogZAxis()
- Returns:
true
if the Z axis shows logarithmic valus,false
otherwise.- See Also:
logZAxisProperty()
-
setLogZAxis
public final void setLogZAxis(boolean value)
- Parameters:
value
-true
to make the Z axis showing logarithmic valus.- See Also:
logZAxisProperty()
-
projectionLinesVisibleProperty
public final BooleanProperty projectionLinesVisibleProperty()
-
isProjectionLinesVisible
public final boolean isProjectionLinesVisible()
- Returns:
true
if projection lines are visible,false
otherwise.- See Also:
projectionLinesVisibleProperty()
-
setProjectionLinesVisible
public final void setProjectionLinesVisible(boolean value)
- Parameters:
value
-true
to make projection lines visible.- See Also:
projectionLinesVisibleProperty()
-
smoothProperty
public BooleanProperty smoothProperty()
- See Also:
isSmooth()
,setSmooth(boolean)
-
isSmooth
public boolean isSmooth()
- Returns:
true
if smoothing is applied,false
otherwise.- See Also:
smoothProperty()
-
setSmooth
public void setSmooth(boolean value)
- Parameters:
value
-true
to enable smoothing.- See Also:
smoothProperty()
-
verticalGridLinesVisibleProperty
public final BooleanProperty verticalGridLinesVisibleProperty()
-
isVerticalGridLinesVisible
public final boolean isVerticalGridLinesVisible()
- Returns:
true
if vertical grid lines are visible,false
otherwise.- See Also:
verticalGridLinesVisibleProperty()
-
setVerticalGridLinesVisible
public final void setVerticalGridLinesVisible(boolean value)
- Parameters:
value
-true
to make vertical lines visible.- See Also:
verticalGridLinesVisibleProperty()
-
addChartPlugins
public void addChartPlugins(ObservableList<Plugin> plugins)
More robust method for adding plugins to chart. Note: It is necessary only if more than one plugin is being added at once.
-
getChart
public Chart getChart()
-
getCssMetaData
public List<CssMetaData<? extends Styleable,?>> getCssMetaData()
- Specified by:
getCssMetaData
in interfaceStyleable
- Overrides:
getCssMetaData
in classChart
-
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 ObservableList<Node> getPlotChildren()
Modifiable and observable list of all content in the plot. This is where implementations ofChart
should add any nodes they use to draw their plot.- Specified by:
getPlotChildren
in interfacePluggable
- Returns:
- Observable list of plot children.
-
getPlugins
public final ObservableList<Plugin> getPlugins()
- Specified by:
getPlugins
in interfacePluggable
- Returns:
- A non-
null
list of plugins added to the chart.
-
getXProjection
public final DensityChartFX.ProjectionData<Number,Number> getXProjection(DensityChartFX.Data<Number,Number> data)
- Parameters:
data
- The chart's data.- Returns:
- The projection data along the X axis.
-
getYProjection
public final DensityChartFX.ProjectionData<Number,Number> getYProjection(DensityChartFX.Data<Number,Number> data)
-
getZAxis
public NumberAxis getZAxis()
Returns the Z axis representing scale ofData Z values
. The axis is used to determine Z value range and render thelegend
.By default
auto-ranging
is on so that axislower
andupper
bounds are updated by the chart according to thedata
min and max value. The user can fix the range by setting theauto-ranging
tofalse
and specifying the lower and upper bound.- Returns:
- The Z axis.
-
isNotShownInLegend
public boolean isNotShownInLegend(String seriesName)
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:
seriesName
- The name of the series to be checked.- Returns:
true
if the series with the given name is not shown in chartLegend
.
-
setNotShownInLegend
public void setNotShownInLegend(String seriesName)
Description copied from interface:Pluggable
Specifies a series to not be shown in chartLegend
.- Specified by:
setNotShownInLegend
in interfacePluggable
- Parameters:
seriesName
- The name of the series to not be shown in chartLegend
.
-
layoutChartChildren
protected void layoutChartChildren(double top, double left, double width, double height)
- Specified by:
layoutChartChildren
in classChart
-
-