public class StackedBarChart<X,Y> extends XYChart<X,Y>
BarChart
that plots bars indicating
data values for a category. The bars can be vertical or horizontal depending
on which axis is a category axis.
The bar for each series is stacked on top of the previous series.Type | Property and Description |
---|---|
DoubleProperty |
categoryGap
The gap to leave between bars in separate categories
|
alternativeColumnFillVisibleProperty, alternativeRowFillVisibleProperty, dataProperty, horizontalGridLinesVisibleProperty, horizontalZeroLineVisibleProperty, verticalGridLinesVisibleProperty, verticalZeroLineVisibleProperty
animatedProperty, legendProperty, legendSideProperty, legendVisibleProperty, titleProperty, titleSideProperty
Modifier and Type | Class and Description |
---|---|
private static class |
StackedBarChart.StyleableProperties |
XYChart.Data<X,Y>, XYChart.Series<X,Y>
Modifier and Type | Field and Description |
---|---|
private <any> |
categoriesListener |
private CategoryAxis |
categoryAxis |
private DoubleProperty |
categoryGap
The gap to leave between bars in separate categories
|
private static PseudoClass |
HORIZONTAL_PSEUDOCLASS_STATE
Pseudoclass indicating this is a horizontal chart.
|
private Orientation |
orientation |
private java.util.Map<XYChart.Series<X,Y>,java.util.Map<java.lang.String,java.util.List<XYChart.Data<X,Y>>>> |
seriesCategoryMap |
private ValueAxis |
valueAxis |
private static PseudoClass |
VERTICAL_PSEUDOCLASS_STATE
Pseudoclass indicating this is a vertical chart.
|
DEFAULT_COLOR, seriesColorMap
useChartContentMirroring
Constructor and Description |
---|
StackedBarChart(Axis<X> xAxis,
Axis<Y> yAxis)
Construct a new StackedBarChart with the given axis.
|
StackedBarChart(Axis<X> xAxis,
Axis<Y> yAxis,
<any> data)
Construct a new StackedBarChart with the given axis and data.
|
StackedBarChart(Axis<X> xAxis,
Axis<Y> yAxis,
<any> data,
double categoryGap)
Construct a new StackedBarChart with the given axis and data.
|
Modifier and Type | Method and Description |
---|---|
private void |
animateDataAdd(XYChart.Data<X,Y> item,
Node bar) |
DoubleProperty |
categoryGapProperty()
The gap to leave between bars in separate categories
|
private Node |
createBar(XYChart.Series<X,Y> series,
int seriesIndex,
XYChart.Data<X,Y> item,
int itemIndex) |
private Timeline |
createDataRemoveTimeline(XYChart.Data<X,Y> item,
Node bar,
XYChart.Series<X,Y> series) |
(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
|
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.
|
double |
getCategoryGap()
Gets the value of the property categoryGap.
|
static java.util.List<<any>> |
getClassCssMetaData() |
java.util.List<<any>> |
getCssMetaData() |
private java.util.List<XYChart.Data<X,Y>> |
getDataItem(XYChart.Series<X,Y> series,
java.lang.String category) |
protected void |
layoutPlotChildren()
Called to update and layout the plot children.
|
private void |
processDataRemove(XYChart.Series<X,Y> series,
XYChart.Data<X,Y> item) |
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 |
setCategoryGap(double value)
Sets the value of the property categoryGap.
|
protected void |
updateAxisRange()
This is called when the range has been invalidated and we need to update it.
|
private void |
updateMap(XYChart.Series<X,Y> series,
XYChart.Data<X,Y> item) |
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 DoubleProperty categoryGapProperty
getCategoryGap()
,
setCategoryGap(double)
private java.util.Map<XYChart.Series<X,Y>,java.util.Map<java.lang.String,java.util.List<XYChart.Data<X,Y>>>> seriesCategoryMap
private final Orientation orientation
private CategoryAxis categoryAxis
private ValueAxis valueAxis
private <any> categoriesListener
private DoubleProperty categoryGap
private static final PseudoClass VERTICAL_PSEUDOCLASS_STATE
private static final PseudoClass HORIZONTAL_PSEUDOCLASS_STATE
public StackedBarChart(Axis<X> xAxis, Axis<Y> yAxis)
xAxis
- The x axis to useyAxis
- The y axis to usepublic StackedBarChart(Axis<X> xAxis, Axis<Y> yAxis, <any> data)
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 chartpublic StackedBarChart(Axis<X> xAxis, Axis<Y> yAxis, <any> data, double categoryGap)
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 chartcategoryGap
- The gap to leave between bars in separate categoriespublic double getCategoryGap()
public void setCategoryGap(double value)
public DoubleProperty categoryGapProperty()
getCategoryGap()
,
setCategoryGap(double)
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)
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>
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 seriesprivate void updateMap(XYChart.Series<X,Y> series, XYChart.Data<X,Y> item)
private void processDataRemove(XYChart.Series<X,Y> series, XYChart.Data<X,Y> item)
private void animateDataAdd(XYChart.Data<X,Y> item, Node bar)
private Timeline createDataRemoveTimeline(XYChart.Data<X,Y> item, Node bar, XYChart.Series<X,Y> series)
private Node createBar(XYChart.Series<X,Y> series, int seriesIndex, XYChart.Data<X,Y> item, int itemIndex)
private java.util.List<XYChart.Data<X,Y>> getDataItem(XYChart.Series<X,Y> series, java.lang.String category)
public static java.util.List<<any>> getClassCssMetaData()
public java.util.List<<any>> getCssMetaData()
getCssMetaData
in class XYChart<X,Y>