public class

StackedXYBarRenderer

extends XYBarRenderer
java.lang.Object
   ↳ org.jfree.chart.renderer.AbstractRenderer
     ↳ org.jfree.chart.renderer.xy.AbstractXYItemRenderer
       ↳ org.jfree.chart.renderer.xy.XYBarRenderer
         ↳ org.jfree.chart.renderer.xy.StackedXYBarRenderer

Class Overview

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. The example shown here is generated by the StackedXYBarChartDemo2.java program included in the JFreeChart demo collection:

StackedXYBarRendererSample.png

Summary

[Expand]
Inherited Fields
From class org.jfree.chart.renderer.AbstractRenderer
Public Constructors
StackedXYBarRenderer()
Creates a new renderer.
StackedXYBarRenderer(double margin)
Creates a new renderer.
Public Methods
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 this 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 3 to indicate that this renderer requires three passes for drawing (shadows are drawn in the first pass, the bars in the second, and item labels are drawn in the third pass so that they always appear in front of all the bars).
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.
int hashCode()
Returns a hash code for this instance.
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.
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.
[Expand]
Inherited Methods
From class org.jfree.chart.renderer.xy.XYBarRenderer
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 StackedXYBarRenderer ()

Creates a new renderer.

public StackedXYBarRenderer (double margin)

Creates a new renderer.

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

Public Methods

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.

public boolean equals (Object obj)

Tests this 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 (null if the dataset is null or empty).

public int getPassCount ()

Returns 3 to indicate that this renderer requires three passes for drawing (shadows are drawn in the first pass, the bars in the second, and item labels are drawn in the third pass so that they always appear in front of all the bars).

Returns
  • 2.

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.

public int hashCode ()

Returns a hash code for this instance.

Returns
  • A hash code.

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.

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.