Class StackedAreaChart<X,Y>

  • All Implemented Interfaces:
    Styleable, EventTarget


    public class StackedAreaChart<X,Y>
    extends XYChart<X,Y>
    StackedAreaChart is a variation of 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.
    Since:
    JavaFX 2.1
    • Constructor Detail

      • StackedAreaChart

        public StackedAreaChart​(Axis<X> xAxis,
                                Axis<Y> yAxis)
        Construct a new Area Chart with the given axis
        Parameters:
        xAxis - The x axis to use
        yAxis - The y axis to use
      • StackedAreaChart

        public StackedAreaChart​(Axis<X> xAxis,
                                Axis<Y> yAxis,
                                ObservableList<XYChart.Series<X,Y>> data)
        Construct a new Area Chart with the given axis and data.

        Note: yAxis must be a ValueAxis, otherwise IllegalArgumentException is thrown.

        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
        Throws:
        IllegalArgumentException - if yAxis is not a ValueAxis
    • Method Detail

      • getCreateSymbols

        public final boolean getCreateSymbols​()
        Indicates whether symbols for data points will be created or not.
        Returns:
        true if symbols for data points will be created and false otherwise.
        Since:
        JavaFX 8.0
      • setCreateSymbols

        public final void setCreateSymbols​(boolean value)
        Sets the value of the property createSymbols.
        Property description:
        When true, CSS styleable symbols are created for any data items that don't have a symbol node specified.
        Since:
        JavaFX 8.0
      • dataItemAdded

        protected void dataItemAdded​(XYChart.Series<X,Y> series,
                                     int itemIndex,
                                     XYChart.Data<X,Y> item)
        Description copied from class: XYChart
        Called when a data item has been added to a series. This is where implementations of XYChart can create/add new nodes to getPlotChildren to represent this data item. They also may animate that data add with a fade in or similar if animated = true.
        Specified by:
        dataItemAdded in class XYChart<X,Y>
        Parameters:
        series - The series the data item was added to
        itemIndex - The index of the new item within the series
        item - The new data item that was added
      • dataItemRemoved

        protected void dataItemRemoved​(XYChart.Data<X,Y> item,
                                       XYChart.Series<X,Y> series)
        Description copied from class: XYChart
        Called when a data item has been removed from data model but it is still visible on the chart. Its still visible so that you can handle animation for removing it in this method. After you are done animating the data item you must call removeDataItemFromDisplay() to remove the items node from being displayed on the chart.
        Specified by:
        dataItemRemoved in class XYChart<X,Y>
        Parameters:
        item - The item that has been removed from the series
        series - The series the item was removed from
      • dataItemChanged

        protected void dataItemChanged​(XYChart.Data<X,Y> item)
        Called when a data item has changed, ie its xValue, yValue or extraValue has changed.
        Specified by:
        dataItemChanged in class XYChart<X,Y>
        Parameters:
        item - The data item who was changed
      • seriesChanged

        protected void seriesChanged​(ListChangeListener.Change<? extends XYChart.Series> c)
        Description copied from class: XYChart
        Called when each atomic change is made to the list of series for this chart
        Overrides:
        seriesChanged in class XYChart<X,Y>
        Parameters:
        c - a Change instance representing the changes to the series
      • seriesAdded

        protected void seriesAdded​(XYChart.Series<X,Y> series,
                                   int seriesIndex)
        Description copied from class: XYChart
        A series has been added to the charts data model. This is where implementations of XYChart can create/add new nodes to getPlotChildren to represent this series. Also you have to handle adding any data items that are already in the series. You may simply call dataItemAdded() for each one or provide some different animation for a whole series being added.
        Specified by:
        seriesAdded in class XYChart<X,Y>
        Parameters:
        series - The series that has been added
        seriesIndex - The index of the new series
      • seriesRemoved

        protected void seriesRemoved​(XYChart.Series<X,Y> series)
        Description copied from class: XYChart
        A series has been removed from the data model but it is still visible on the chart. Its still visible so that you can handle animation for removing it in this method. After you are done animating the data item you must call removeSeriesFromDisplay() to remove the series from the display list.
        Specified by:
        seriesRemoved in class XYChart<X,Y>
        Parameters:
        series - The series that has been removed
      • updateAxisRange

        protected void updateAxisRange​()
        This is called when the range has been invalidated and we need to update it. If the axis are auto ranging then we compile a list of all data that the given axis has to plot and call invalidateRange() on the axis passing it that data.
        Overrides:
        updateAxisRange in class XYChart<X,Y>
      • layoutPlotChildren

        protected void layoutPlotChildren​()
        Called to update and layout the plot children. This should include all work to updates nodes representing the plot on top of the axis and grid lines etc. The origin is the top left of the plot area, the plot area with can be got by getting the width of the x axis and its height from the height of the y axis.
        Specified by:
        layoutPlotChildren in class XYChart<X,Y>
      • getClassCssMetaData

        public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData​()
        Returns:
        The CssMetaData associated with this class, which may include the CssMetaData of its superclasses.
        Since:
        JavaFX 8.0