public class

WaterfallBarRenderer

extends BarRenderer
java.lang.Object
   ↳ org.jfree.chart.renderer.AbstractRenderer
     ↳ org.jfree.chart.renderer.category.AbstractCategoryItemRenderer
       ↳ org.jfree.chart.renderer.category.BarRenderer
         ↳ org.jfree.chart.renderer.category.WaterfallBarRenderer

Class Overview

A renderer that handles the drawing of waterfall bar charts, for use with the CategoryPlot class. Some quirks to note:

  • the value in the last category of the dataset should be (redundantly) specified as the sum of the items in the preceding categories - otherwise the final bar in the plot will be incorrectly plotted;
  • the bar colors are defined using special methods in this class - the inherited methods (for example, setSeriesPaint(int, Paint)) are ignored;
The example shown here is generated by the WaterfallChartDemo1.java program included in the JFreeChart Demo Collection:

WaterfallBarRendererSample.png

Summary

[Expand]
Inherited Constants
From class org.jfree.chart.renderer.category.BarRenderer
[Expand]
Inherited Fields
From class org.jfree.chart.renderer.AbstractRenderer
Public Constructors
WaterfallBarRenderer()
Constructs a new renderer with default values for the bar colors.
WaterfallBarRenderer(Paint firstBarPaint, Paint positiveBarPaint, Paint negativeBarPaint, Paint lastBarPaint)
Constructs a new waterfall renderer.
Public Methods
void drawItem(Graphics2D g2, CategoryItemRendererState state, Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset, int row, int column, int pass)
Draws the bar for a single (series, category) data item.
boolean equals(Object obj)
Tests an object for equality with this instance.
Range findRangeBounds(CategoryDataset dataset)
Returns the range of values the renderer requires to display all the items from the specified dataset.
Paint getFirstBarPaint()
Returns the paint used to draw the first bar.
Paint getLastBarPaint()
Returns the paint used to draw the last bar.
Paint getNegativeBarPaint()
Returns the paint used to draw bars with negative values.
Paint getPositiveBarPaint()
Returns the paint used to draw bars with positive values.
void setFirstBarPaint(Paint paint)
Sets the paint that will be used to draw the first bar and sends a RendererChangeEvent to all registered listeners.
void setLastBarPaint(Paint paint)
Sets the paint that will be used to draw the last bar and sends a RendererChangeEvent to all registered listeners.
void setNegativeBarPaint(Paint paint)
Sets the paint that will be used to draw bars having negative values, and sends a RendererChangeEvent to all registered listeners.
void setPositiveBarPaint(Paint paint)
Sets the paint that will be used to draw bars having positive values.
[Expand]
Inherited Methods
From class org.jfree.chart.renderer.category.BarRenderer
From class org.jfree.chart.renderer.category.AbstractCategoryItemRenderer
From class org.jfree.chart.renderer.AbstractRenderer
From class java.lang.Object
From interface org.jfree.chart.LegendItemSource
From interface org.jfree.chart.renderer.category.CategoryItemRenderer

Public Constructors

public WaterfallBarRenderer ()

Constructs a new renderer with default values for the bar colors.

public WaterfallBarRenderer (Paint firstBarPaint, Paint positiveBarPaint, Paint negativeBarPaint, Paint lastBarPaint)

Constructs a new waterfall renderer.

Parameters
firstBarPaint the color of the first bar (null not permitted).
positiveBarPaint the color for bars with positive values (null not permitted).
negativeBarPaint the color for bars with negative values (null not permitted).
lastBarPaint the color of the last bar (null not permitted).

Public Methods

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 bar for a single (series, category) data item.

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

public boolean equals (Object obj)

Tests an object for equality with this instance.

Parameters
obj the object (null permitted).
Returns
  • A boolean.

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

public Paint getFirstBarPaint ()

Returns the paint used to draw the first bar.

Returns
  • The paint (never null).

public Paint getLastBarPaint ()

Returns the paint used to draw the last bar.

Returns
  • The paint (never null).

public Paint getNegativeBarPaint ()

Returns the paint used to draw bars with negative values.

Returns
  • The paint (never null).

public Paint getPositiveBarPaint ()

Returns the paint used to draw bars with positive values.

Returns
  • The paint (never null).

public void setFirstBarPaint (Paint paint)

Sets the paint that will be used to draw the first bar and sends a RendererChangeEvent to all registered listeners.

Parameters
paint the paint (null not permitted).

public void setLastBarPaint (Paint paint)

Sets the paint that will be used to draw the last bar and sends a RendererChangeEvent to all registered listeners.

Parameters
paint the paint (null not permitted).

public void setNegativeBarPaint (Paint paint)

Sets the paint that will be used to draw bars having negative values, and sends a RendererChangeEvent to all registered listeners.

Parameters
paint the paint (null not permitted).

public void setPositiveBarPaint (Paint paint)

Sets the paint that will be used to draw bars having positive values.

Parameters
paint the paint (null not permitted).