org.jfree.chart.renderer.category

Class GroupedStackedBarRenderer

public class GroupedStackedBarRenderer extends StackedBarRenderer implements Cloneable, PublicCloneable, Serializable

A renderer that draws stacked bars within groups. This will probably be merged with the StackedBarRenderer class at some point.
Constructor Summary
GroupedStackedBarRenderer()
Creates a new renderer.
Method Summary
protected doublecalculateBarW0(CategoryPlot plot, PlotOrientation orientation, Rectangle2D dataArea, CategoryAxis domainAxis, CategoryItemRendererState state, int row, int column)
Calculates the coordinate of the first "side" of a bar.
protected voidcalculateBarWidth(CategoryPlot plot, Rectangle2D dataArea, int rendererIndex, CategoryItemRendererState state)
Calculates the bar width and stores it in the renderer state.
voiddrawItem(Graphics2D g2, CategoryItemRendererState state, Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset, int row, int column, int pass)
Draws a stacked bar for a specific item.
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.
voidsetSeriesToGroupMap(KeyToGroupMap map)
Updates the map used to assign each series to a group, and sends a RendererChangeEvent to all registered listeners.

Constructor Detail

GroupedStackedBarRenderer

public GroupedStackedBarRenderer()
Creates a new renderer.

Method Detail

calculateBarW0

protected double calculateBarW0(CategoryPlot plot, PlotOrientation orientation, Rectangle2D dataArea, CategoryAxis domainAxis, CategoryItemRendererState state, int row, int column)
Calculates the coordinate of the first "side" of a bar. This will be the minimum x-coordinate for a vertical bar, and the minimum y-coordinate for a horizontal bar.

Parameters: plot the plot. orientation the plot orientation. dataArea the data area. domainAxis the domain axis. state the renderer state (has the bar width precalculated). row the row index. column the column index.

Returns: The coordinate.

calculateBarWidth

protected void calculateBarWidth(CategoryPlot plot, Rectangle2D dataArea, int rendererIndex, CategoryItemRendererState state)
Calculates the bar width and stores it in the renderer state. We override the method in the base class to take account of the series-to-group mapping.

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

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 a stacked bar for a specific item.

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.

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

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

setSeriesToGroupMap

public void setSeriesToGroupMap(KeyToGroupMap map)
Updates the map used to assign each series to a group, and sends a RendererChangeEvent to all registered listeners.

Parameters: map the map (null not permitted).