## org.jfree.chart.renderer.xy
Class StackedXYAreaRenderer

    java.lang.Object
      org.jfree.chart.renderer.AbstractRenderer
          org.jfree.chart.renderer.xy.AbstractXYItemRenderer
              org.jfree.chart.renderer.xy.XYAreaRenderer
                  org.jfree.chart.renderer.xy.StackedXYAreaRenderer

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, LegendItemSource, XYItemRenderer, org.jfree.util.PublicCloneable

    public class StackedXYAreaRenderer

extends XYAreaRenderer
implements java.lang.Cloneable, org.jfree.util.PublicCloneable, java.io.Serializable

A stacked area renderer for the `XYPlot` class.

See Also:
  Serialized Form

Field Summary

Fields inherited from class org.jfree.chart.renderer.xy.XYAreaRenderer
`AREA, AREA_AND_SHAPES, LINES, SHAPES, SHAPES_AND_LINES`

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`

Constructor Summary
`StackedXYAreaRenderer()` Creates a new renderer.
`StackedXYAreaRenderer(int type)` Constructs a new renderer.
`StackedXYAreaRenderer(int type, XYToolTipGenerator labelGenerator, XYURLGenerator urlGenerator)` Constructs a new renderer.

Method Summary
`java.lang.Object` `clone()` Returns a clone of the renderer.
`void` `drawItem(java.awt.Graphics2D g2, XYItemRendererState state, java.awt.geom.Rectangle2D dataArea, PlotRenderingInfo info, XYPlot plot, ValueAxis domainAxis, ValueAxis rangeAxis, XYDataset dataset, int series, int item, CrosshairState crosshairState, int pass)` Draws the visual representation of a single data item.
`boolean` `equals(java.lang.Object obj)` Tests the renderer for equality with an arbitrary object.
`Range` `findRangeBounds(XYDataset 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 required by the renderer.
`protected double` `getPreviousHeight(XYDataset data, int series, int index)` Calculates the stacked value of the all series up to, but not including `series` for the specified category, `category`.
`java.awt.Paint` `getShapePaint()` Returns the paint used for rendering shapes, or `null` if using series paints.
`java.awt.Stroke` `getShapeStroke()` Returns the stroke used for rendering shapes, or `null` if using series strokes.
`XYItemRendererState` `initialise(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, XYPlot plot, XYDataset data, PlotRenderingInfo info)` Initialises the renderer.
`void` `setShapePaint(java.awt.Paint shapePaint)` Sets the paint for rendering shapes.
`void` `setShapeStroke(java.awt.Stroke shapeStroke)` Sets the stroke for rendering shapes.

Methods inherited from class org.jfree.chart.renderer.xy.XYAreaRenderer
`getPlotArea, getPlotLines, getPlotShapes, isOutline, setOutline`

Methods inherited from class org.jfree.chart.renderer.xy.AbstractXYItemRenderer

`addAnnotation, addAnnotation, addEntity, calculateDomainMarkerTextAnchorPoint, drawAnnotations, drawDomainGridLine, drawDomainMarker, drawItemLabel, drawRangeLine, drawRangeMarker, fillDomainGridBand, fillRangeGridBand, findDomainBounds, getBaseLabelGenerator, getBaseToolTipGenerator, getDefaultEntityRadius, getDrawingSupplier, getLabelGenerator, getLegendItem, getLegendItemLabelGenerator, getLegendItems, getPlot, getSeriesLabelGenerator, getSeriesToolTipGenerator, getToolTipGenerator, getURLGenerator, removeAnnotation, removeAnnotations, setBaseLabelGenerator, setBaseToolTipGenerator, setDefaultEntityRadius, setLabelGenerator, setLegendItemLabelGenerator, setPlot, setSeriesLabelGenerator, setSeriesToolTipGenerator, setToolTipGenerator, setURLGenerator, updateCrosshairValues`

Methods inherited from class org.jfree.chart.renderer.AbstractRenderer

`addChangeListener, calculateLabelAnchorPoint, getBaseCreateEntities, getBaseFillPaint, getBaseItemLabelFont, getBaseItemLabelPaint, getBaseItemLabelsVisible, getBaseNegativeItemLabelPosition, getBaseOutlinePaint, getBaseOutlineStroke, getBasePaint, getBasePositiveItemLabelPosition, getBaseSeriesVisible, getBaseSeriesVisibleInLegend, getBaseShape, getBaseStroke, getCreateEntities, getItemCreateEntity, getItemFillPaint, getItemLabelAnchorOffset, getItemLabelFont, getItemLabelFont, getItemLabelPaint, getItemLabelPaint, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getItemVisible, getNegativeItemLabelPosition, getNegativeItemLabelPosition, getPositiveItemLabelPosition, getPositiveItemLabelPosition, getSeriesCreateEntities, getSeriesFillPaint, getSeriesItemLabelFont, getSeriesItemLabelPaint, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, getSeriesVisible, getSeriesVisible, getSeriesVisibleInLegend, getSeriesVisibleInLegend, hashCode, isItemLabelVisible, isSeriesItemLabelsVisible, isSeriesVisibleInLegend, notifyListeners, removeChangeListener, setBaseCreateEntities, setBaseCreateEntities, setBaseFillPaint, setBaseFillPaint, setBaseItemLabelFont, setBaseItemLabelFont, setBaseItemLabelPaint, setBaseItemLabelPaint, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseNegativeItemLabelPosition, setBaseNegativeItemLabelPosition, setBaseOutlinePaint, setBaseOutlinePaint, setBaseOutlineStroke, setBaseOutlineStroke, setBasePaint, setBasePaint, setBasePositiveItemLabelPosition, setBasePositiveItemLabelPosition, setBaseSeriesVisible, setBaseSeriesVisible, setBaseSeriesVisibleInLegend, setBaseSeriesVisibleInLegend, setBaseShape, setBaseShape, setBaseStroke, setBaseStroke, setCreateEntities, setCreateEntities, setFillPaint, setFillPaint, setItemLabelAnchorOffset, setItemLabelFont, setItemLabelFont, setItemLabelPaint, setItemLabelPaint, setItemLabelsVisible, setItemLabelsVisible, setItemLabelsVisible, 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 class java.lang.Object
`finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.jfree.chart.renderer.xy.XYItemRenderer

`addAnnotation, addAnnotation, addChangeListener, drawAnnotations, drawDomainGridLine, drawDomainMarker, drawRangeLine, drawRangeMarker, fillDomainGridBand, fillRangeGridBand, findDomainBounds, getBaseItemLabelFont, getBaseItemLabelPaint, getBaseItemLabelsVisible, getBaseLabelGenerator, getBaseNegativeItemLabelPosition, getBaseOutlinePaint, getBaseOutlineStroke, getBasePaint, getBasePositiveItemLabelPosition, getBaseSeriesVisible, getBaseSeriesVisibleInLegend, getBaseShape, getBaseStroke, getBaseToolTipGenerator, getItemLabelFont, getItemLabelFont, getItemLabelPaint, getItemLabelPaint, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getItemVisible, getLabelGenerator, getLegendItem, getNegativeItemLabelPosition, getNegativeItemLabelPosition, getPlot, getPositiveItemLabelPosition, getPositiveItemLabelPosition, getSeriesItemLabelFont, getSeriesItemLabelPaint, getSeriesLabelGenerator, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, getSeriesToolTipGenerator, getSeriesVisible, getSeriesVisible, getSeriesVisibleInLegend, getSeriesVisibleInLegend, getToolTipGenerator, getURLGenerator, isItemLabelVisible, isSeriesItemLabelsVisible, isSeriesVisibleInLegend, removeAnnotation, removeAnnotations, removeChangeListener, setBaseItemLabelFont, setBaseItemLabelPaint, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseLabelGenerator, setBaseNegativeItemLabelPosition, setBaseNegativeItemLabelPosition, setBaseOutlinePaint, setBaseOutlineStroke, setBasePaint, setBasePositiveItemLabelPosition, setBasePositiveItemLabelPosition, setBaseSeriesVisible, setBaseSeriesVisible, setBaseSeriesVisibleInLegend, setBaseSeriesVisibleInLegend, setBaseShape, setBaseStroke, setBaseToolTipGenerator, setItemLabelFont, setItemLabelPaint, setItemLabelsVisible, setItemLabelsVisible, setItemLabelsVisible, setLabelGenerator, setNegativeItemLabelPosition, setNegativeItemLabelPosition, setOutlinePaint, setOutlineStroke, setPaint, setPlot, setPositiveItemLabelPosition, setPositiveItemLabelPosition, setSeriesItemLabelFont, setSeriesItemLabelPaint, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesLabelGenerator, setSeriesNegativeItemLabelPosition, setSeriesNegativeItemLabelPosition, setSeriesOutlinePaint, setSeriesOutlineStroke, setSeriesPaint, setSeriesPositiveItemLabelPosition, setSeriesPositiveItemLabelPosition, setSeriesShape, setSeriesStroke, setSeriesToolTipGenerator, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setShape, setStroke, setToolTipGenerator, setURLGenerator`

Methods inherited from interface org.jfree.chart.LegendItemSource
`getLegendItems`

Constructor Detail

### StackedXYAreaRenderer

    public StackedXYAreaRenderer()

  Creates a new renderer.

### StackedXYAreaRenderer

    public StackedXYAreaRenderer(int type)

  Constructs a new renderer.

  Parameters:
    `type` - the type of the renderer.

### StackedXYAreaRenderer

    public StackedXYAreaRenderer(int type,
                                 XYToolTipGenerator labelGenerator,
                                 XYURLGenerator urlGenerator)

  Constructs a new renderer.

  To specify the type of renderer, use one of the constants: SHAPES, LINES, SHAPES_AND_LINES, AREA or AREA_AND_SHAPES.

  Parameters:
    `type` - the type of renderer.
    `labelGenerator` - the tool tip generator to use. `null` is none.
    `urlGenerator` - the URL generator (null permitted).

Method Detail

### getShapePaint

    public java.awt.Paint getShapePaint()

  Returns the paint used for rendering shapes, or `null` if using series paints.

  Returns:
    The Paint.

### getShapeStroke

    public java.awt.Stroke getShapeStroke()

  Returns the stroke used for rendering shapes, or `null` if using series strokes.

  Returns:
    The stroke.

### setShapePaint

    public void setShapePaint(java.awt.Paint shapePaint)

  Sets the paint for rendering shapes.

  Parameters:
    `shapePaint` - the paint (`null` permitted).

### setShapeStroke

    public void setShapeStroke(java.awt.Stroke shapeStroke)

  Sets the stroke for rendering shapes.

  Parameters:
    `shapeStroke` - the stroke (`null` permitted).

### initialise

    public XYItemRendererState initialise(java.awt.Graphics2D g2,
                                          java.awt.geom.Rectangle2D dataArea,
                                          XYPlot plot,
                                          XYDataset data,
                                          PlotRenderingInfo info)

  Initialises the renderer.

  This method will be called before the first item is rendered, giving the renderer an opportunity to initialise any state information it wants to maintain. The renderer can do nothing if it chooses.

  Specified by:
    `initialise` in interface `XYItemRenderer`
  Overrides:
    `initialise` in class `XYAreaRenderer`
  Parameters:
    `g2` - the graphics device.
    `dataArea` - the area inside the axes.
    `plot` - the plot.
    `data` - the data.
    `info` - an optional info collection object to return data back to the caller.
  Returns:
    A state object that should be passed to subsequent calls to the drawItem() method.

### getPassCount

    public int getPassCount()

  Returns the number of passes required by the renderer.

  Specified by:
    `getPassCount` in interface `XYItemRenderer`
  Overrides:
    `getPassCount` in class `AbstractXYItemRenderer`
  Returns:
    2.

### findRangeBounds

    public Range findRangeBounds(XYDataset dataset)

  Returns the range of values the renderer requires to display all the items from the specified dataset.

  Specified by:
    `findRangeBounds` in interface `XYItemRenderer`
  Overrides:
    `findRangeBounds` in class `AbstractXYItemRenderer`
  Parameters:
    `dataset` - the dataset (`null` permitted).
  Returns:
    The range (`null` if the dataset is `null` or empty).

### drawItem

    public void drawItem(java.awt.Graphics2D g2,
                         XYItemRendererState state,
                         java.awt.geom.Rectangle2D dataArea,
                         PlotRenderingInfo info,
                         XYPlot plot,
                         ValueAxis domainAxis,
                         ValueAxis rangeAxis,
                         XYDataset dataset,
                         int series,
                         int item,
                         CrosshairState crosshairState,
                         int pass)

  Draws the visual representation of a single data item.

  Specified by:
    `drawItem` in interface `XYItemRenderer`
  Overrides:
    `drawItem` in class `XYAreaRenderer`
  Parameters:
    `g2` - the graphics device.
    `state` - the renderer state.
    `dataArea` - the area within which the data is being drawn.
    `info` - collects information about the drawing.
    `plot` - the plot (can be used to obtain standard color information etc).
    `domainAxis` - the domain axis.
    `rangeAxis` - the range axis.
    `dataset` - the dataset.
    `series` - the series index (zero-based).
    `item` - the item index (zero-based).
    `crosshairState` - information about crosshairs on a plot.
    `pass` - the pass index.

### getPreviousHeight

    protected double getPreviousHeight(XYDataset data,
                                       int series,
                                       int index)

  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:
    `data` - the data.
    `series` - the series.
    `index` - the index.
  Returns:
    double returns a cumulative value for all series' values up to but excluding `series` for `index`.

### equals

    public boolean equals(java.lang.Object obj)

  Tests the renderer for equality with an arbitrary object.

  Overrides:
    `equals` in class `AbstractXYItemRenderer`
  Parameters:
    `obj` - the object (`null` permitted).
  Returns:
    A boolean.

### clone

    public java.lang.Object clone()
                           throws java.lang.CloneNotSupportedException

  Returns a clone of the renderer.

  Specified by:
    `clone` in interface `org.jfree.util.PublicCloneable`
  Overrides:
    `clone` in class `XYAreaRenderer`
  Returns:
    A clone.
  Throws:
    `java.lang.CloneNotSupportedException` - if the renderer cannot be cloned.