public class StackedAreaChart<X,Y> extends XYChart<X,Y>
AreaChart
that displays trends of the
contribution of each value. (over time e.g.) The areas are stacked so that each
series adjoins but does not overlap the preceding series. This contrasts with
the Area chart where each series overlays the preceding series.
The cumulative nature of the StackedAreaChart gives an idea of the total Y data
value at any given point along the X axis.
Since data points across multiple series may not be common, StackedAreaChart
interpolates values along the line joining the data points whenever necessary.Type | Property and Description |
---|---|
BooleanProperty |
createSymbols
When true, CSS styleable symbols are created for any data items that
don't have a symbol node specified.
|
alternativeColumnFillVisibleProperty, alternativeRowFillVisibleProperty, dataProperty, horizontalGridLinesVisibleProperty, horizontalZeroLineVisibleProperty, verticalGridLinesVisibleProperty, verticalZeroLineVisibleProperty
animatedProperty, legendProperty, legendSideProperty, legendVisibleProperty, titleProperty, titleSideProperty
Modifier and Type | Class and Description |
---|---|
(package private) static class |
StackedAreaChart.DataPointInfo<X,Y> |
private static class |
StackedAreaChart.PartOf |
private static class |
StackedAreaChart.StyleableProperties |
XYChart.Data<X,Y>, XYChart.Series<X,Y>
Modifier and Type | Field and Description |
---|---|
private BooleanProperty |
createSymbols
When true, CSS styleable symbols are created for any data items that
don't have a symbol node specified.
|
private java.util.Map<XYChart.Series<X,Y>,DoubleProperty> |
seriesYMultiplierMap
A multiplier for teh Y values that we store for each series, it is used to animate in a new series
|
DEFAULT_COLOR, seriesColorMap
useChartContentMirroring
Constructor and Description |
---|
StackedAreaChart(Axis<X> xAxis,
Axis<Y> yAxis)
Construct a new Area Chart with the given axis
|
StackedAreaChart(Axis<X> xAxis,
Axis<Y> yAxis,
<any> data)
Construct a new Area Chart with the given axis and data.
|
Modifier and Type | Method and Description |
---|---|
private void |
addDropDown(java.util.ArrayList<StackedAreaChart.DataPointInfo<X,Y>> currentSeriesData,
XYChart.Data<X,Y> item,
X xValue,
Y yValue,
double x,
double y) |
private void |
addPoint(java.util.ArrayList<StackedAreaChart.DataPointInfo<X,Y>> currentSeriesData,
XYChart.Data<X,Y> item,
X xValue,
Y yValue,
double x,
double y,
StackedAreaChart.PartOf partof,
boolean symbol,
boolean lineTo) |
(package private) LegendItem |
createLegendItemForSeries(XYChart.Series<X,Y> series,
int seriesIndex)
Called by the updateLegend for each series in the chart in order to
create new legend item
|
private Node |
createSymbol(XYChart.Series<X,Y> series,
int seriesIndex,
XYChart.Data<X,Y> item,
int itemIndex) |
BooleanProperty |
createSymbolsProperty()
When true, CSS styleable symbols are created for any data items that
don't have a symbol node specified.
|
protected void |
dataItemAdded(XYChart.Series<X,Y> series,
int itemIndex,
XYChart.Data<X,Y> item)
Called when a data item has been added to a series.
|
protected void |
dataItemChanged(XYChart.Data<X,Y> item)
Called when a data item has changed, ie its xValue, yValue or extraValue has changed.
|
protected void |
dataItemRemoved(XYChart.Data<X,Y> item,
XYChart.Series<X,Y> series)
Called when a data item has been removed from data model but it is still visible on the chart.
|
private static double |
doubleValue(java.lang.Number number) |
private static double |
doubleValue(java.lang.Number number,
double nullDefault) |
private int |
findNextCurrent(java.util.ArrayList<StackedAreaChart.DataPointInfo<X,Y>> points,
int index) |
private int |
findNextPrevious(java.util.ArrayList<StackedAreaChart.DataPointInfo<X,Y>> points,
int index) |
private int |
findPreviousCurrent(java.util.ArrayList<StackedAreaChart.DataPointInfo<X,Y>> points,
int index) |
private int |
findPreviousPrevious(java.util.ArrayList<StackedAreaChart.DataPointInfo<X,Y>> points,
int index) |
static java.util.List<<any>> |
getClassCssMetaData() |
boolean |
getCreateSymbols()
Indicates whether symbols for data points will be created or not.
|
java.util.List<<any>> |
getCssMetaData() |
private double |
interpolate(double lowX,
double lowY,
double highX,
double highY,
double x) |
protected void |
layoutPlotChildren()
Called to update and layout the plot children.
|
protected void |
seriesAdded(XYChart.Series<X,Y> series,
int seriesIndex)
A series has been added to the charts data model.
|
protected void |
seriesChanged(<any> c)
Called when each atomic change is made to the list of series for this chart
|
protected void |
seriesRemoved(XYChart.Series<X,Y> series)
A series has been removed from the data model but it is still visible on the chart.
|
void |
setCreateSymbols(boolean value)
Sets the value of the property createSymbols.
|
private void |
sortAggregateList(java.util.ArrayList<StackedAreaChart.DataPointInfo<X,Y>> aggregateList) |
protected void |
updateAxisRange()
This is called when the range has been invalidated and we need to update it.
|
alternativeColumnFillVisibleProperty, alternativeRowFillVisibleProperty, createSeriesRemoveTimeLine, currentDisplayedExtraValueProperty, currentDisplayedXValueProperty, currentDisplayedYValueProperty, dataBeingRemovedIsAdded, dataProperty, getCurrentDisplayedExtraValue, getCurrentDisplayedXValue, getCurrentDisplayedYValue, getData, getDataSize, getDisplayedDataIterator, getDisplayedSeriesIterator, getPlotChildren, getSeriesIndex, getSeriesSize, getVerticalGridLinesVisible, getXAxis, getYAxis, horizontalGridLinesVisibleProperty, horizontalZeroLineVisibleProperty, isAlternativeColumnFillVisible, isAlternativeRowFillVisible, isHorizontalGridLinesVisible, isHorizontalZeroLineVisible, isVerticalZeroLineVisible, layoutChartChildren, removeDataItemFromDisplay, removeSeriesFromDisplay, seriesBeingRemovedIsAdded, setAlternativeColumnFillVisible, setAlternativeRowFillVisible, setCurrentDisplayedExtraValue, setCurrentDisplayedXValue, setCurrentDisplayedYValue, setData, setHorizontalGridLinesVisible, setHorizontalZeroLineVisible, setVerticalGridLinesVisible, setVerticalZeroLineVisible, updateLegend, verticalGridLinesVisibleProperty, verticalZeroLineVisibleProperty
animate, 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
public final BooleanProperty createSymbolsProperty
getCreateSymbols()
,
setCreateSymbols(boolean)
private java.util.Map<XYChart.Series<X,Y>,DoubleProperty> seriesYMultiplierMap
private BooleanProperty createSymbols
public StackedAreaChart(Axis<X> xAxis, Axis<Y> yAxis)
xAxis
- The x axis to useyAxis
- The y axis to usepublic StackedAreaChart(Axis<X> xAxis, Axis<Y> yAxis, <any> data)
Note: yAxis must be a ValueAxis, otherwise IllegalArgumentException
is thrown.
xAxis
- The x axis to useyAxis
- The y axis to usedata
- The data to use, this is the actual list used so any changes to it will be reflected in the chartjava.lang.IllegalArgumentException
- if yAxis is not a ValueAxispublic final boolean getCreateSymbols()
public final void setCreateSymbols(boolean value)
public final BooleanProperty createSymbolsProperty()
getCreateSymbols()
,
setCreateSymbols(boolean)
private static double doubleValue(java.lang.Number number)
private static double doubleValue(java.lang.Number number, double nullDefault)
protected void dataItemAdded(XYChart.Series<X,Y> series, int itemIndex, XYChart.Data<X,Y> item)
XYChart
dataItemAdded
in class XYChart<X,Y>
series
- The series the data item was added toitemIndex
- The index of the new item within the seriesitem
- The new data item that was addedprotected void dataItemRemoved(XYChart.Data<X,Y> item, XYChart.Series<X,Y> series)
XYChart
dataItemRemoved
in class XYChart<X,Y>
item
- The item that has been removed from the seriesseries
- The series the item was removed fromprotected void dataItemChanged(XYChart.Data<X,Y> item)
dataItemChanged
in class XYChart<X,Y>
item
- The data item who was changedprotected void seriesChanged(<any> c)
XYChart
seriesChanged
in class XYChart<X,Y>
c
- a Change instance representing the changes to the seriesprotected void seriesAdded(XYChart.Series<X,Y> series, int seriesIndex)
XYChart
seriesAdded
in class XYChart<X,Y>
series
- The series that has been addedseriesIndex
- The index of the new seriesprotected void seriesRemoved(XYChart.Series<X,Y> series)
XYChart
seriesRemoved
in class XYChart<X,Y>
series
- The series that has been removedprotected void updateAxisRange()
updateAxisRange
in class XYChart<X,Y>
protected void layoutPlotChildren()
layoutPlotChildren
in class XYChart<X,Y>
private void addDropDown(java.util.ArrayList<StackedAreaChart.DataPointInfo<X,Y>> currentSeriesData, XYChart.Data<X,Y> item, X xValue, Y yValue, double x, double y)
private void addPoint(java.util.ArrayList<StackedAreaChart.DataPointInfo<X,Y>> currentSeriesData, XYChart.Data<X,Y> item, X xValue, Y yValue, double x, double y, StackedAreaChart.PartOf partof, boolean symbol, boolean lineTo)
private int findNextCurrent(java.util.ArrayList<StackedAreaChart.DataPointInfo<X,Y>> points, int index)
private int findPreviousCurrent(java.util.ArrayList<StackedAreaChart.DataPointInfo<X,Y>> points, int index)
private int findPreviousPrevious(java.util.ArrayList<StackedAreaChart.DataPointInfo<X,Y>> points, int index)
private int findNextPrevious(java.util.ArrayList<StackedAreaChart.DataPointInfo<X,Y>> points, int index)
private void sortAggregateList(java.util.ArrayList<StackedAreaChart.DataPointInfo<X,Y>> aggregateList)
private double interpolate(double lowX, double lowY, double highX, double highY, double x)
private Node createSymbol(XYChart.Series<X,Y> series, int seriesIndex, XYChart.Data<X,Y> item, int itemIndex)
LegendItem createLegendItemForSeries(XYChart.Series<X,Y> series, int seriesIndex)
XYChart
createLegendItemForSeries
in class XYChart<X,Y>
series
- the series for this legend itemseriesIndex
- the index of the seriespublic static java.util.List<<any>> getClassCssMetaData()
public java.util.List<<any>> getCssMetaData()
getCssMetaData
in class XYChart<X,Y>