org.jfree.chart.renderer.category

Class StackedBarRenderer3D

public class StackedBarRenderer3D extends BarRenderer3D implements Cloneable, PublicCloneable, Serializable

Renders stacked bars with 3D-effect, for use with the CategoryPlot class. The example shown here is generated by the StackedBarChart3DDemo1.java program included in the JFreeChart Demo Collection:

StackedBarRenderer3DSample.png
Constructor Summary
StackedBarRenderer3D()
Creates a new renderer with no tool tip generator and no URL generator.
StackedBarRenderer3D(double xOffset, double yOffset)
Constructs a new renderer with the specified '3D effect'.
StackedBarRenderer3D(boolean renderAsPercentages)
Creates a new renderer.
StackedBarRenderer3D(double xOffset, double yOffset, boolean renderAsPercentages)
Constructs a new renderer with the specified '3D effect'.
Method Summary
protected voidcalculateBarWidth(CategoryPlot plot, Rectangle2D dataArea, int rendererIndex, CategoryItemRendererState state)
Calculates the bar width and stores it in the renderer state.
protected static ListcreateStackedValueList(CategoryDataset dataset, Comparable category, double base, boolean asPercentages)
Returns a list containing the stacked values for the specified series in the given dataset, plus the supplied base value.
protected static ListcreateStackedValueList(CategoryDataset dataset, Comparable category, int[] includedRows, double base, boolean asPercentages)
Returns a list containing the stacked values for the specified series in the given dataset, plus the supplied base value.
voiddrawItem(Graphics2D g2, CategoryItemRendererState state, Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset, int row, int column, int pass)
Draws the visual representation of one data item from the chart (in fact, this method does nothing until it reaches the last item for each category, at which point it draws all the items for that category).
protected voiddrawStackHorizontal(List values, Comparable category, Graphics2D g2, CategoryItemRendererState state, Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset)
Draws a stack of bars for one category, with a horizontal orientation.
protected voiddrawStackVertical(List values, Comparable category, Graphics2D g2, CategoryItemRendererState state, Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset)
Draws a stack of bars for one category, with a vertical orientation.
booleanequals(Object obj)
Tests this renderer 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.
booleangetRenderAsPercentages()
Returns true if the renderer displays each item value as a percentage (so that the stacked bars add to 100%), and false otherwise.
voidsetRenderAsPercentages(boolean asPercentages)
Sets the flag that controls whether the renderer displays each item value as a percentage (so that the stacked bars add to 100%), and sends a RendererChangeEvent to all registered listeners.

Constructor Detail

StackedBarRenderer3D

public StackedBarRenderer3D()
Creates a new renderer with no tool tip generator and no URL generator.

The defaults (no tool tip or URL generators) have been chosen to minimise the processing required to generate a default chart. If you require tool tips or URLs, then you can easily add the required generators.

StackedBarRenderer3D

public StackedBarRenderer3D(double xOffset, double yOffset)
Constructs a new renderer with the specified '3D effect'.

Parameters: xOffset the x-offset for the 3D effect. yOffset the y-offset for the 3D effect.

StackedBarRenderer3D

public StackedBarRenderer3D(boolean renderAsPercentages)
Creates a new renderer.

Parameters: renderAsPercentages a flag that controls whether the data values are rendered as percentages.

Since: 1.0.2

StackedBarRenderer3D

public StackedBarRenderer3D(double xOffset, double yOffset, boolean renderAsPercentages)
Constructs a new renderer with the specified '3D effect'.

Parameters: xOffset the x-offset for the 3D effect. yOffset the y-offset for the 3D effect. renderAsPercentages a flag that controls whether the data values are rendered as percentages.

Since: 1.0.2

Method Detail

calculateBarWidth

protected void calculateBarWidth(CategoryPlot plot, Rectangle2D dataArea, int rendererIndex, CategoryItemRendererState state)
Calculates the bar width and stores it in the renderer state.

Parameters: plot the plot. dataArea the data area. rendererIndex the renderer index. state the renderer state.

createStackedValueList

protected static List createStackedValueList(CategoryDataset dataset, Comparable category, double base, boolean asPercentages)

Deprecated: As of 1.0.13, use ( CategoryDataset, Comparable, int[], double, boolean).

Returns a list containing the stacked values for the specified series in the given dataset, plus the supplied base value.

Parameters: dataset the dataset (null not permitted). category the category key (null not permitted). base the base value. asPercentages a flag that controls whether the values in the list are converted to percentages of the total.

Returns: The value list.

Since: 1.0.4

createStackedValueList

protected static List createStackedValueList(CategoryDataset dataset, Comparable category, int[] includedRows, double base, boolean asPercentages)
Returns a list containing the stacked values for the specified series in the given dataset, plus the supplied base value.

Parameters: dataset the dataset (null not permitted). category the category key (null not permitted). includedRows the included rows. base the base value. asPercentages a flag that controls whether the values in the list are converted to percentages of the total.

Returns: The value list.

Since: 1.0.13

drawItem

public void drawItem(Graphics2D g2, CategoryItemRendererState state, Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset, int row, int column, int pass)
Draws the visual representation of one data item from the chart (in fact, this method does nothing until it reaches the last item for each category, at which point it draws all the items for that category).

Parameters: g2 the graphics device. state the renderer state. dataArea the plot area. plot the plot. domainAxis the domain (category) axis. rangeAxis the range (value) axis. dataset the data. row the row index (zero-based). column the column index (zero-based). pass the pass index.

drawStackHorizontal

protected void drawStackHorizontal(List values, Comparable category, Graphics2D g2, CategoryItemRendererState state, Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset)
Draws a stack of bars for one category, with a horizontal orientation.

Parameters: values the value list. category the category. g2 the graphics device. state the state. dataArea the data area (adjusted for the 3D effect). plot the plot. domainAxis the domain axis. rangeAxis the range axis. dataset the dataset.

Since: 1.0.4

drawStackVertical

protected void drawStackVertical(List values, Comparable category, Graphics2D g2, CategoryItemRendererState state, Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset)
Draws a stack of bars for one category, with a vertical orientation.

Parameters: values the value list. category the category. g2 the graphics device. state the state. dataArea the data area (adjusted for the 3D effect). plot the plot. domainAxis the domain axis. rangeAxis the range axis. dataset the dataset.

Since: 1.0.4

equals

public boolean equals(Object obj)
Tests this renderer for equality with an arbitrary object.

Parameters: obj the object (null 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).

getRenderAsPercentages

public boolean getRenderAsPercentages()
Returns true if the renderer displays each item value as a percentage (so that the stacked bars add to 100%), and false otherwise.

Returns: A boolean.

Since: 1.0.2

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 bars add to 100%), and sends a RendererChangeEvent to all registered listeners.

Parameters: asPercentages the flag.

Since: 1.0.2

Copyright © 2000-2009 by Object Refinery Limited. All Rights Reserved.