public class

StackedXYAreaRenderer

extends XYAreaRenderer
implements Serializable Cloneable
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

Class Overview

A stacked area renderer for the XYPlot class.

The example shown here is generated by the StackedXYAreaRendererDemo1.java program included in the JFreeChart demo collection:

StackedXYAreaRendererSample.png

SPECIAL NOTE: This renderer does not currently handle negative data values correctly. This should get fixed at some point, but the current workaround is to use the StackedXYAreaRenderer2 class instead.

Summary

[Expand]
Inherited Constants
From class org.jfree.chart.renderer.xy.XYAreaRenderer
[Expand]
Inherited Fields
From class org.jfree.chart.renderer.AbstractRenderer
Public Constructors
StackedXYAreaRenderer()
Creates a new renderer.
StackedXYAreaRenderer(int type)
Constructs a new renderer.
StackedXYAreaRenderer(int type, XYToolTipGenerator labelGenerator, XYURLGenerator urlGenerator)
Constructs a new renderer.
Public Methods
Object clone()
Returns a clone of the renderer.
void drawItem(Graphics2D g2, XYItemRendererState state, 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(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.
Paint getShapePaint()
Returns the paint used for rendering shapes, or null if using series paints.
Stroke getShapeStroke()
Returns the stroke used for rendering shapes, or null if using series strokes.
XYItemRendererState initialise(Graphics2D g2, Rectangle2D dataArea, XYPlot plot, XYDataset data, PlotRenderingInfo info)
Initialises the renderer.
void setShapePaint(Paint shapePaint)
Sets the paint for rendering shapes and sends a RendererChangeEvent to all registered listeners.
void setShapeStroke(Stroke shapeStroke)
Sets the stroke for rendering shapes and sends a RendererChangeEvent to all registered listeners.
Protected Methods
double getPreviousHeight(TableXYDataset dataset, int series, int index)
Calculates the stacked value of the all series up to, but not including series for the specified item.
[Expand]
Inherited Methods
From class org.jfree.chart.renderer.xy.XYAreaRenderer
From class org.jfree.chart.renderer.xy.AbstractXYItemRenderer
From class org.jfree.chart.renderer.AbstractRenderer
From class java.lang.Object
From interface org.jfree.chart.LegendItemSource
From interface org.jfree.chart.renderer.xy.XYItemRenderer

Public Constructors

public StackedXYAreaRenderer ()

Creates a new renderer.

public StackedXYAreaRenderer (int type)

Constructs a new renderer.

Parameters
type the type of the renderer.

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).

Public Methods

public Object clone ()

Returns a clone of the renderer.

Returns
  • A clone.
Throws
CloneNotSupportedException if the renderer cannot be cloned.

public void drawItem (Graphics2D g2, XYItemRendererState state, 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.

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.
Throws
ClassCastException if state is not an instance of StackedXYAreaRendererState or dataset is not an instance of TableXYDataset.

public boolean equals (Object obj)

Tests the renderer for equality with an arbitrary object.

Parameters
obj the object (null permitted).
Returns
  • A boolean.

public Range findRangeBounds (XYDataset dataset)

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

Parameters
dataset the dataset (null permitted).
Returns
  • The range ([0.0, 0.0] if the dataset contains no values, and null if the dataset is null).
Throws
ClassCastException if dataset is not an instance of TableXYDataset.

public int getPassCount ()

Returns the number of passes required by the renderer.

Returns
  • 2.

public Paint getShapePaint ()

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

Returns
  • The paint (possibly null).

public Stroke getShapeStroke ()

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

Returns
  • The stroke (possibly null).

public XYItemRendererState initialise (Graphics2D g2, 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.

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.

public void setShapePaint (Paint shapePaint)

Sets the paint for rendering shapes and sends a RendererChangeEvent to all registered listeners.

Parameters
shapePaint the paint (null permitted).
See Also

public void setShapeStroke (Stroke shapeStroke)

Sets the stroke for rendering shapes and sends a RendererChangeEvent to all registered listeners.

Parameters
shapeStroke the stroke (null permitted).
See Also

Protected Methods

protected double getPreviousHeight (TableXYDataset dataset, int series, int index)

Calculates the stacked value of the all series up to, but not including series for the specified item. It returns 0.0 if series is the first series, i.e. 0.

Parameters
dataset the dataset.
series the series.
index the index.
Returns
  • The cumulative value for all series' values up to but excluding series for index.