org.jfree.chart.renderer.category

Class StackedAreaRenderer

public class StackedAreaRenderer extends AreaRenderer implements Cloneable, PublicCloneable, Serializable

A renderer that draws stacked area charts for a CategoryPlot.
Constructor Summary
StackedAreaRenderer()
Creates a new renderer.
StackedAreaRenderer(boolean renderAsPercentages)
Creates a new renderer.
Method Summary
voiddrawItem(Graphics2D g2, CategoryItemRendererState state, Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset, int row, int column, int pass)
Draw a single data item.
booleanequals(Object obj)
Checks this instance for equality with an arbitrary object.
RangefindRangeBounds(CategoryDataset dataset)
Returns the range of values the renderer requires to display all the items from the specified dataset.
intgetPassCount()
Returns the number of passes (2) required by this renderer.
protected doublegetPreviousHeight(CategoryDataset dataset, int series, int category)
Calculates the stacked value of the all series up to, but not including series for the specified category, category.
booleangetRenderAsPercentages()
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(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.
voidsetRenderAsPercentages(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.

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

drawItem

public void drawItem(Graphics2D g2, CategoryItemRendererState state, Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset, int row, int column, int pass)
Draw a single data item.

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.

equals

public boolean equals(Object obj)
Checks this instance for equality with an arbitrary object.

Parameters: obj the object (null not permitted).

Returns: A boolean.

findRangeBounds

public Range findRangeBounds(CategoryDataset dataset)
Returns the range of values the renderer requires to display all the items from the specified dataset.

Parameters: dataset the dataset (null not permitted).

Returns: The range (or null if the dataset is empty).

getPassCount

public int getPassCount()
Returns the number of passes (2) required by this renderer. The first pass is used to draw the bars, the second pass is used to draw the item labels (if visible).

Returns: The number of passes required by the renderer.

getPreviousHeight

protected double getPreviousHeight(CategoryDataset dataset, int series, int category)
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.

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

getStackValues

protected double[] getStackValues(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.

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