Class StackedAreaRenderer

  • All Implemented Interfaces:
    Serializable, Cloneable, org.jfree.chart.LegendItemSource, org.jfree.chart.renderer.category.CategoryItemRenderer, org.jfree.util.PublicCloneable

    public class StackedAreaRenderer
    extends org.jfree.chart.renderer.category.AreaRenderer
    implements org.jfree.util.PublicCloneable, Serializable
    This is a backport of the StackedAreaRenderer of JFreeChart 1.0.13; this class will be removed as soon as we are able to upgrade to a more recent version of JFreeChart.

    A renderer that draws stacked area charts for a CategoryPlot. The example shown here is generated by the StackedAreaChartDemo1.java program included in the JFreeChart Demo Collection:

    StackedAreaRendererSample.png

    See Also:
    Serialized Form
    • Field Summary

      • Fields inherited from class org.jfree.chart.renderer.AbstractRenderer

        DEFAULT_OUTLINE_PAINT, DEFAULT_OUTLINE_STROKE, DEFAULT_PAINT, DEFAULT_SHAPE, DEFAULT_STROKE, DEFAULT_VALUE_LABEL_FONT, DEFAULT_VALUE_LABEL_PAINT, ZERO
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      void drawItem​(Graphics2D g2, org.jfree.chart.renderer.category.CategoryItemRendererState state, Rectangle2D dataArea, org.jfree.chart.plot.CategoryPlot plot, org.jfree.chart.axis.CategoryAxis domainAxis, org.jfree.chart.axis.ValueAxis rangeAxis, org.jfree.data.category.CategoryDataset dataset, int row, int column, int pass)
      Draw a single data item.
      boolean equals​(Object obj)
      Checks this instance for equality with an arbitrary object.
      org.jfree.data.Range findRangeBounds​(org.jfree.data.category.CategoryDataset dataset)
      Returns the range of values the renderer requires to display all the items from the specified dataset.
      int getPassCount()
      Returns the number of passes (2) required by this renderer.
      protected double getPreviousHeight​(org.jfree.data.category.CategoryDataset dataset, int series, int category)
      Deprecated.
      As of 1.0.13, as the method is never used internally.
      boolean getRenderAsPercentages()
      Returns true if the renderer displays each item value as a percentage (so that the stacked areas add to 100%), and false otherwise.
      protected double[] getStackValues​(org.jfree.data.category.CategoryDataset dataset, int series, int index)
      Calculates the stacked values (one positive and one negative) of all series up to, but not including, series for the specified item.
      void setRenderAsPercentages​(boolean asPercentages)
      Sets the flag that controls whether the renderer displays each item value as a percentage (so that the stacked areas add to 100%), and sends a RendererChangeEvent to all registered listeners.
      • Methods inherited from class org.jfree.chart.renderer.category.AreaRenderer

        clone, getEndType, getLegendItem, setEndType
      • Methods inherited from class org.jfree.chart.renderer.category.AbstractCategoryItemRenderer

        addEntity, addItemEntity, calculateDomainMarkerTextAnchorPoint, calculateRangeMarkerTextAnchorPoint, createState, drawBackground, drawDomainGridline, drawDomainMarker, drawItemLabel, drawOutline, drawRangeGridline, drawRangeLine, drawRangeMarker, findRangeBounds, getBaseItemLabelGenerator, getBaseItemURLGenerator, getBaseToolTipGenerator, getColumnCount, getDomainAxis, getDrawingSupplier, getItemLabelGenerator, getItemMiddle, getItemURLGenerator, getLegendItemLabelGenerator, getLegendItems, getLegendItemToolTipGenerator, getLegendItemURLGenerator, getPlot, getRangeAxis, getRowCount, getSeriesItemLabelGenerator, getSeriesItemURLGenerator, getSeriesToolTipGenerator, getToolTipGenerator, getToolTipGenerator, hashCode, initialise, setBaseItemLabelGenerator, setBaseItemURLGenerator, setBaseToolTipGenerator, setItemLabelGenerator, setItemURLGenerator, setLegendItemLabelGenerator, setLegendItemToolTipGenerator, setLegendItemURLGenerator, setPlot, setSeriesItemLabelGenerator, setSeriesItemURLGenerator, setSeriesToolTipGenerator, setToolTipGenerator, updateCrosshairValues
      • Methods inherited from class org.jfree.chart.renderer.AbstractRenderer

        addChangeListener, calculateLabelAnchorPoint, clearSeriesPaints, clearSeriesStrokes, fireChangeEvent, getAutoPopulateSeriesFillPaint, getAutoPopulateSeriesOutlinePaint, getAutoPopulateSeriesOutlineStroke, getAutoPopulateSeriesPaint, getAutoPopulateSeriesShape, getAutoPopulateSeriesStroke, getBaseCreateEntities, getBaseFillPaint, getBaseItemLabelFont, getBaseItemLabelPaint, getBaseItemLabelsVisible, getBaseLegendShape, getBaseLegendTextFont, getBaseLegendTextPaint, getBaseNegativeItemLabelPosition, getBaseOutlinePaint, getBaseOutlineStroke, getBasePaint, getBasePositiveItemLabelPosition, getBaseSeriesVisible, getBaseSeriesVisibleInLegend, getBaseShape, getBaseStroke, getCreateEntities, getDataBoundsIncludesVisibleSeriesOnly, getDefaultEntityRadius, getItemCreateEntity, getItemFillPaint, getItemLabelAnchorOffset, getItemLabelFont, getItemLabelFont, getItemLabelPaint, getItemLabelPaint, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getItemVisible, getLegendShape, getLegendTextFont, getLegendTextPaint, getNegativeItemLabelPosition, getNegativeItemLabelPosition, getPositiveItemLabelPosition, getPositiveItemLabelPosition, getSeriesCreateEntities, getSeriesFillPaint, getSeriesItemLabelFont, getSeriesItemLabelPaint, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, getSeriesVisible, getSeriesVisible, getSeriesVisibleInLegend, getSeriesVisibleInLegend, hasListener, isItemLabelVisible, isSeriesItemLabelsVisible, isSeriesVisible, isSeriesVisibleInLegend, lookupLegendShape, lookupLegendTextFont, lookupLegendTextPaint, lookupSeriesFillPaint, lookupSeriesOutlinePaint, lookupSeriesOutlineStroke, lookupSeriesPaint, lookupSeriesShape, lookupSeriesStroke, notifyListeners, removeChangeListener, setAutoPopulateSeriesFillPaint, setAutoPopulateSeriesOutlinePaint, setAutoPopulateSeriesOutlineStroke, setAutoPopulateSeriesPaint, setAutoPopulateSeriesShape, setAutoPopulateSeriesStroke, setBaseCreateEntities, setBaseCreateEntities, setBaseFillPaint, setBaseFillPaint, setBaseItemLabelFont, setBaseItemLabelFont, setBaseItemLabelPaint, setBaseItemLabelPaint, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseLegendShape, setBaseLegendTextFont, setBaseLegendTextPaint, setBaseNegativeItemLabelPosition, setBaseNegativeItemLabelPosition, setBaseOutlinePaint, setBaseOutlinePaint, setBaseOutlineStroke, setBaseOutlineStroke, setBasePaint, setBasePaint, setBasePositiveItemLabelPosition, setBasePositiveItemLabelPosition, setBaseSeriesVisible, setBaseSeriesVisible, setBaseSeriesVisibleInLegend, setBaseSeriesVisibleInLegend, setBaseShape, setBaseShape, setBaseStroke, setBaseStroke, setCreateEntities, setCreateEntities, setDataBoundsIncludesVisibleSeriesOnly, setDefaultEntityRadius, setFillPaint, setFillPaint, setItemLabelAnchorOffset, setItemLabelFont, setItemLabelFont, setItemLabelPaint, setItemLabelPaint, setItemLabelsVisible, setItemLabelsVisible, setItemLabelsVisible, setLegendShape, setLegendTextFont, setLegendTextPaint, setNegativeItemLabelPosition, setNegativeItemLabelPosition, setOutlinePaint, setOutlinePaint, setOutlineStroke, setOutlineStroke, setPaint, setPaint, setPositiveItemLabelPosition, setPositiveItemLabelPosition, setSeriesCreateEntities, setSeriesCreateEntities, setSeriesFillPaint, setSeriesFillPaint, setSeriesItemLabelFont, setSeriesItemLabelFont, setSeriesItemLabelPaint, setSeriesItemLabelPaint, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesNegativeItemLabelPosition, setSeriesNegativeItemLabelPosition, setSeriesOutlinePaint, setSeriesOutlinePaint, setSeriesOutlineStroke, setSeriesOutlineStroke, setSeriesPaint, setSeriesPaint, setSeriesPositiveItemLabelPosition, setSeriesPositiveItemLabelPosition, setSeriesShape, setSeriesShape, setSeriesStroke, setSeriesStroke, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setShape, setShape, setStroke, setStroke
      • Methods inherited from interface org.jfree.chart.renderer.category.CategoryItemRenderer

        addChangeListener, getBaseItemLabelFont, getBaseItemLabelPaint, getBaseItemLabelsVisible, getBaseNegativeItemLabelPosition, getBaseOutlinePaint, getBaseOutlineStroke, getBasePaint, getBasePositiveItemLabelPosition, getBaseSeriesVisible, getBaseSeriesVisibleInLegend, getBaseShape, getBaseStroke, getItemLabelFont, getItemLabelFont, getItemLabelPaint, getItemLabelPaint, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getItemVisible, getNegativeItemLabelPosition, getNegativeItemLabelPosition, getPositiveItemLabelPosition, getPositiveItemLabelPosition, getSeriesItemLabelFont, getSeriesItemLabelPaint, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, getSeriesVisible, getSeriesVisible, getSeriesVisibleInLegend, getSeriesVisibleInLegend, isItemLabelVisible, isSeriesItemLabelsVisible, isSeriesVisible, isSeriesVisibleInLegend, removeChangeListener, setBaseItemLabelFont, setBaseItemLabelPaint, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseNegativeItemLabelPosition, setBaseNegativeItemLabelPosition, setBaseOutlinePaint, setBaseOutlineStroke, setBasePaint, setBasePositiveItemLabelPosition, setBasePositiveItemLabelPosition, setBaseSeriesVisible, setBaseSeriesVisible, setBaseSeriesVisibleInLegend, setBaseSeriesVisibleInLegend, setBaseShape, setBaseStroke, setItemLabelFont, setItemLabelPaint, setItemLabelsVisible, setItemLabelsVisible, setItemLabelsVisible, setNegativeItemLabelPosition, setNegativeItemLabelPosition, setOutlinePaint, setOutlineStroke, setPaint, setPositiveItemLabelPosition, setPositiveItemLabelPosition, setSeriesItemLabelFont, setSeriesItemLabelPaint, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesNegativeItemLabelPosition, setSeriesNegativeItemLabelPosition, setSeriesOutlinePaint, setSeriesOutlineStroke, setSeriesPaint, setSeriesPositiveItemLabelPosition, setSeriesPositiveItemLabelPosition, setSeriesShape, setSeriesStroke, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setShape, setStroke
      • Methods inherited from interface org.jfree.util.PublicCloneable

        clone
    • Constructor Detail

      • StackedAreaRenderer

        public StackedAreaRenderer()
        Creates a new renderer.
      • StackedAreaRenderer

        public StackedAreaRenderer​(boolean renderAsPercentages)
        Creates a new renderer.
        Parameters:
        renderAsPercentages - a flag that controls whether the data values are rendered as percentages.
    • Method Detail

      • getRenderAsPercentages

        public boolean getRenderAsPercentages()
        Returns true if the renderer displays each item value as a percentage (so that the stacked areas add to 100%), and false otherwise.
        Returns:
        A boolean.
        Since:
        1.0.3
      • setRenderAsPercentages

        public void setRenderAsPercentages​(boolean asPercentages)
        Sets the flag that controls whether the renderer displays each item value as a percentage (so that the stacked areas add to 100%), and sends a RendererChangeEvent to all registered listeners.
        Parameters:
        asPercentages - the flag.
        Since:
        1.0.3
      • getPassCount

        public int getPassCount()
        Returns the number of passes (2) required by this renderer. The first pass is used to draw the areas, the second pass is used to draw the item labels (if visible).
        Specified by:
        getPassCount in interface org.jfree.chart.renderer.category.CategoryItemRenderer
        Overrides:
        getPassCount in class org.jfree.chart.renderer.category.AbstractCategoryItemRenderer
        Returns:
        The number of passes required by the renderer.
      • findRangeBounds

        public org.jfree.data.Range findRangeBounds​(org.jfree.data.category.CategoryDataset dataset)
        Returns the range of values the renderer requires to display all the items from the specified dataset.
        Specified by:
        findRangeBounds in interface org.jfree.chart.renderer.category.CategoryItemRenderer
        Overrides:
        findRangeBounds in class org.jfree.chart.renderer.category.AbstractCategoryItemRenderer
        Parameters:
        dataset - the dataset (null not permitted).
        Returns:
        The range (or null if the dataset is empty).
      • drawItem

        public void drawItem​(Graphics2D g2,
                             org.jfree.chart.renderer.category.CategoryItemRendererState state,
                             Rectangle2D dataArea,
                             org.jfree.chart.plot.CategoryPlot plot,
                             org.jfree.chart.axis.CategoryAxis domainAxis,
                             org.jfree.chart.axis.ValueAxis rangeAxis,
                             org.jfree.data.category.CategoryDataset dataset,
                             int row,
                             int column,
                             int pass)
        Draw a single data item.
        Specified by:
        drawItem in interface org.jfree.chart.renderer.category.CategoryItemRenderer
        Overrides:
        drawItem in class org.jfree.chart.renderer.category.AreaRenderer
        Parameters:
        g2 - the graphics device.
        state - the renderer state.
        dataArea - the data plot area.
        plot - the plot.
        domainAxis - the domain axis.
        rangeAxis - the range axis.
        dataset - the data.
        row - the row index (zero-based).
        column - the column index (zero-based).
        pass - the pass index.
      • getStackValues

        protected double[] getStackValues​(org.jfree.data.category.CategoryDataset dataset,
                                          int series,
                                          int index)
        Calculates the stacked values (one positive and one negative) of all series up to, but not including, series for the specified item. It returns [0.0, 0.0] if series is the first series.
        Parameters:
        dataset - the dataset (null not permitted).
        series - the series index.
        index - the item index.
        Returns:
        An array containing the cumulative negative and positive values for all series values up to but excluding series for index.
      • equals

        public boolean equals​(Object obj)
        Checks this instance for equality with an arbitrary object.
        Overrides:
        equals in class org.jfree.chart.renderer.category.AreaRenderer
        Parameters:
        obj - the object (null not permitted).
        Returns:
        A boolean.
      • getPreviousHeight

        protected double getPreviousHeight​(org.jfree.data.category.CategoryDataset dataset,
                                           int series,
                                           int category)
        Deprecated.
        As of 1.0.13, as the method is never used internally.
        Calculates the stacked value of the all series up to, but not including series for the specified category, category. It returns 0.0 if series is the first series, i.e. 0.
        Parameters:
        dataset - the dataset (null not permitted).
        series - the series.
        category - the category.
        Returns:
        double returns a cumulative value for all series' values up to but excluding series for Object category.