org.jfree.chart.renderer.xy

Class StackedXYBarRenderer

public class StackedXYBarRenderer extends XYBarRenderer

A bar renderer that displays the series items stacked. The dataset used together with this renderer must be a IntervalXYDataset and a TableXYDataset. For example, the dataset class CategoryTableXYDataset implements both interfaces.
Constructor Summary
StackedXYBarRenderer()
Creates a new renderer.
StackedXYBarRenderer(double margin)
Creates a new renderer.
Method Summary
voiddrawItem(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.
booleanequals(Object obj)
Tests this renderer for equality with an arbitrary object.
RangefindRangeBounds(XYDataset dataset)
Returns the range of values the renderer requires to display all the items from the specified dataset.
intgetPassCount()
Returns 2 to indicate that this renderer requires two passes for drawing (item labels are drawn in the second pass so that they always appear in front of all the bars).
booleangetRenderAsPercentages()
Returns true if the renderer displays each item value as a percentage (so that the stacked bars add to 100%), and false otherwise.
inthashCode()
Returns a hash code for this instance.
XYItemRendererStateinitialise(Graphics2D g2, Rectangle2D dataArea, XYPlot plot, XYDataset data, PlotRenderingInfo info)
Initialises the renderer and returns a state object that should be passed to all subsequent calls to the drawItem() method.
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

StackedXYBarRenderer

public StackedXYBarRenderer()
Creates a new renderer.

StackedXYBarRenderer

public StackedXYBarRenderer(double margin)
Creates a new renderer.

Parameters: margin the percentual amount of the bars that are cut away.

Method Detail

drawItem

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 plot 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 crosshair information for the plot (null permitted). 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(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 (null if the dataset is null or empty).

getPassCount

public int getPassCount()
Returns 2 to indicate that this renderer requires two passes for drawing (item labels are drawn in the second pass so that they always appear in front of all the bars).

Returns: 2.

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

See Also:

hashCode

public int hashCode()
Returns a hash code for this instance.

Returns: A hash code.

initialise

public XYItemRendererState initialise(Graphics2D g2, Rectangle2D dataArea, XYPlot plot, XYDataset data, PlotRenderingInfo info)
Initialises the renderer and returns a state object that should be passed to all subsequent calls to the drawItem() method. Here there is nothing to do.

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.

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

See Also: