org.jfree.chart.renderer.category
Class WaterfallBarRenderer
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
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, LegendItemSource, CategoryItemRenderer, org.jfree.util.PublicCloneable
public class WaterfallBarRenderer
- extends BarRenderer
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,
AbstractRenderer.setSeriesPaint(int, Paint)
) are ignored;
The example shown here is generated by the
WaterfallChartDemo1.java
program included in the JFreeChart
Demo Collection:
- See Also:
- Serialized Form
Constructor Summary |
WaterfallBarRenderer()
Constructs a new renderer with default values for the bar colors. |
WaterfallBarRenderer(java.awt.Paint firstBarPaint,
java.awt.Paint positiveBarPaint,
java.awt.Paint negativeBarPaint,
java.awt.Paint lastBarPaint)
Constructs a new waterfall renderer. |
Method Summary |
void |
drawItem(java.awt.Graphics2D g2,
CategoryItemRendererState state,
java.awt.geom.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(java.lang.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. |
java.awt.Paint |
getFirstBarPaint()
Returns the paint used to draw the first bar. |
java.awt.Paint |
getLastBarPaint()
Returns the paint used to draw the last bar. |
java.awt.Paint |
getNegativeBarPaint()
Returns the paint used to draw bars with negative values. |
java.awt.Paint |
getPositiveBarPaint()
Returns the paint used to draw bars with positive values. |
void |
setFirstBarPaint(java.awt.Paint paint)
Sets the paint that will be used to draw the first bar and sends a
RendererChangeEvent to all registered listeners. |
void |
setLastBarPaint(java.awt.Paint paint)
Sets the paint that will be used to draw the last bar and sends a
RendererChangeEvent to all registered listeners. |
void |
setNegativeBarPaint(java.awt.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(java.awt.Paint paint)
Sets the paint that will be used to draw bars having positive values. |
Methods inherited from class org.jfree.chart.renderer.category.BarRenderer |
calculateBarL0L1, calculateBarW0, calculateBarWidth, calculateSeriesWidth, drawItemLabel, getBarPainter, getBase, getDefaultBarPainter, getDefaultShadowsVisible, getGradientPaintTransformer, getIncludeBaseInRange, getItemMargin, getLegendItem, getLowerClip, getMaximumBarWidth, getMinimumBarLength, getNegativeItemLabelPositionFallback, getPositiveItemLabelPositionFallback, getShadowPaint, getShadowsVisible, getShadowXOffset, getShadowYOffset, getUpperClip, initialise, isDrawBarOutline, setBarPainter, setBase, setDefaultBarPainter, setDefaultShadowsVisible, setDrawBarOutline, setGradientPaintTransformer, setIncludeBaseInRange, setItemMargin, setMaximumBarWidth, setMinimumBarLength, setNegativeItemLabelPositionFallback, setPositiveItemLabelPositionFallback, setShadowPaint, setShadowVisible, setShadowXOffset, setShadowYOffset |
Methods inherited from class org.jfree.chart.renderer.category.AbstractCategoryItemRenderer |
addEntity, addItemEntity, calculateDomainMarkerTextAnchorPoint, calculateRangeMarkerTextAnchorPoint, clone, createState, drawBackground, drawDomainGridline, drawDomainMarker, drawItemLabel, drawOutline, drawRangeGridline, drawRangeLine, drawRangeMarker, findRangeBounds, getBaseItemLabelGenerator, getBaseItemURLGenerator, getBaseToolTipGenerator, getColumnCount, getDomainAxis, getDrawingSupplier, getItemLabelGenerator, getItemMiddle, getItemURLGenerator, getLegendItemLabelGenerator, getLegendItems, getLegendItemToolTipGenerator, getLegendItemURLGenerator, getPassCount, getPlot, getRangeAxis, getRowCount, getSeriesItemLabelGenerator, getSeriesItemURLGenerator, getSeriesToolTipGenerator, getToolTipGenerator, getToolTipGenerator, hashCode, setBaseItemLabelGenerator, setBaseItemURLGenerator, setBaseToolTipGenerator, setItemLabelGenerator, setItemURLGenerator, setLegendItemLabelGenerator, setLegendItemToolTipGenerator, setLegendItemURLGenerator, setPlot, setSeriesItemLabelGenerator, setSeriesItemURLGenerator, setSeriesToolTipGenerator, setToolTipGenerator, updateCrosshairValues |
Methods inherited from class org.jfree.chart.renderer.AbstractRenderer |
addChangeListener, calculateLabelAnchorPoint, clearSeriesPaints, clearSeriesStrokes, fireChangeEvent, getAutoPopulateSeriesFillPaint, getAutoPopulateSeriesOutlinePaint, getAutoPopulateSeriesOutlineStroke, getAutoPopulateSeriesPaint, getAutoPopulateSeriesShape, getAutoPopulateSeriesStroke, getBaseCreateEntities, getBaseFillPaint, getBaseItemLabelFont, getBaseItemLabelPaint, getBaseItemLabelsVisible, getBaseLegendShape, getBaseLegendTextFont, getBaseLegendTextPaint, getBaseNegativeItemLabelPosition, getBaseOutlinePaint, getBaseOutlineStroke, getBasePaint, getBasePositiveItemLabelPosition, getBaseSeriesVisible, getBaseSeriesVisibleInLegend, getBaseShape, getBaseStroke, getCreateEntities, getDataBoundsIncludesVisibleSeriesOnly, getDefaultEntityRadius, getItemCreateEntity, getItemFillPaint, getItemLabelAnchorOffset, getItemLabelFont, getItemLabelFont, getItemLabelPaint, getItemLabelPaint, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getItemVisible, getLegendShape, getLegendTextFont, getLegendTextPaint, getNegativeItemLabelPosition, getNegativeItemLabelPosition, getPositiveItemLabelPosition, getPositiveItemLabelPosition, getSeriesCreateEntities, getSeriesFillPaint, getSeriesItemLabelFont, getSeriesItemLabelPaint, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, getSeriesVisible, getSeriesVisible, getSeriesVisibleInLegend, getSeriesVisibleInLegend, hasListener, isItemLabelVisible, isSeriesItemLabelsVisible, isSeriesVisible, isSeriesVisibleInLegend, lookupLegendShape, lookupLegendTextFont, lookupLegendTextPaint, lookupSeriesFillPaint, lookupSeriesOutlinePaint, lookupSeriesOutlineStroke, lookupSeriesPaint, lookupSeriesShape, lookupSeriesStroke, notifyListeners, removeChangeListener, setAutoPopulateSeriesFillPaint, setAutoPopulateSeriesOutlinePaint, setAutoPopulateSeriesOutlineStroke, setAutoPopulateSeriesPaint, setAutoPopulateSeriesShape, setAutoPopulateSeriesStroke, setBaseCreateEntities, setBaseCreateEntities, setBaseFillPaint, setBaseFillPaint, setBaseItemLabelFont, setBaseItemLabelFont, setBaseItemLabelPaint, setBaseItemLabelPaint, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseLegendShape, setBaseLegendTextFont, setBaseLegendTextPaint, setBaseNegativeItemLabelPosition, setBaseNegativeItemLabelPosition, setBaseOutlinePaint, setBaseOutlinePaint, setBaseOutlineStroke, setBaseOutlineStroke, setBasePaint, setBasePaint, setBasePositiveItemLabelPosition, setBasePositiveItemLabelPosition, setBaseSeriesVisible, setBaseSeriesVisible, setBaseSeriesVisibleInLegend, setBaseSeriesVisibleInLegend, setBaseShape, setBaseShape, setBaseStroke, setBaseStroke, setCreateEntities, setCreateEntities, setDataBoundsIncludesVisibleSeriesOnly, setDefaultEntityRadius, setFillPaint, setFillPaint, setItemLabelAnchorOffset, setItemLabelFont, setItemLabelFont, setItemLabelPaint, setItemLabelPaint, setItemLabelsVisible, setItemLabelsVisible, setItemLabelsVisible, setLegendShape, setLegendTextFont, setLegendTextPaint, setNegativeItemLabelPosition, setNegativeItemLabelPosition, setOutlinePaint, setOutlinePaint, setOutlineStroke, setOutlineStroke, setPaint, setPaint, setPositiveItemLabelPosition, setPositiveItemLabelPosition, setSeriesCreateEntities, setSeriesCreateEntities, setSeriesFillPaint, setSeriesFillPaint, setSeriesItemLabelFont, setSeriesItemLabelFont, setSeriesItemLabelPaint, setSeriesItemLabelPaint, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesNegativeItemLabelPosition, setSeriesNegativeItemLabelPosition, setSeriesOutlinePaint, setSeriesOutlinePaint, setSeriesOutlineStroke, setSeriesOutlineStroke, setSeriesPaint, setSeriesPaint, setSeriesPositiveItemLabelPosition, setSeriesPositiveItemLabelPosition, setSeriesShape, setSeriesShape, setSeriesStroke, setSeriesStroke, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setShape, setShape, setStroke, setStroke |
Methods inherited from class java.lang.Object |
finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.jfree.util.PublicCloneable |
clone |
Methods inherited from interface org.jfree.chart.renderer.category.CategoryItemRenderer |
addChangeListener, getBaseItemLabelFont, getBaseItemLabelPaint, getBaseItemLabelsVisible, getBaseNegativeItemLabelPosition, getBaseOutlinePaint, getBaseOutlineStroke, getBasePaint, getBasePositiveItemLabelPosition, getBaseSeriesVisible, getBaseSeriesVisibleInLegend, getBaseShape, getBaseStroke, getItemLabelFont, getItemLabelFont, getItemLabelPaint, getItemLabelPaint, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getItemVisible, getNegativeItemLabelPosition, getNegativeItemLabelPosition, getPositiveItemLabelPosition, getPositiveItemLabelPosition, getSeriesItemLabelFont, getSeriesItemLabelPaint, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, getSeriesVisible, getSeriesVisible, getSeriesVisibleInLegend, getSeriesVisibleInLegend, isItemLabelVisible, isSeriesItemLabelsVisible, isSeriesVisible, isSeriesVisibleInLegend, removeChangeListener, setBaseItemLabelFont, setBaseItemLabelPaint, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseNegativeItemLabelPosition, setBaseNegativeItemLabelPosition, setBaseOutlinePaint, setBaseOutlineStroke, setBasePaint, setBasePositiveItemLabelPosition, setBasePositiveItemLabelPosition, setBaseSeriesVisible, setBaseSeriesVisible, setBaseSeriesVisibleInLegend, setBaseSeriesVisibleInLegend, setBaseShape, setBaseStroke, setItemLabelFont, setItemLabelPaint, setItemLabelsVisible, setItemLabelsVisible, setItemLabelsVisible, setNegativeItemLabelPosition, setNegativeItemLabelPosition, setOutlinePaint, setOutlineStroke, setPaint, setPositiveItemLabelPosition, setPositiveItemLabelPosition, setSeriesItemLabelFont, setSeriesItemLabelPaint, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesNegativeItemLabelPosition, setSeriesNegativeItemLabelPosition, setSeriesOutlinePaint, setSeriesOutlineStroke, setSeriesPaint, setSeriesPositiveItemLabelPosition, setSeriesPositiveItemLabelPosition, setSeriesShape, setSeriesStroke, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setShape, setStroke |
WaterfallBarRenderer
public WaterfallBarRenderer()
- Constructs a new renderer with default values for the bar colors.
WaterfallBarRenderer
public WaterfallBarRenderer(java.awt.Paint firstBarPaint,
java.awt.Paint positiveBarPaint,
java.awt.Paint negativeBarPaint,
java.awt.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).
getFirstBarPaint
public java.awt.Paint getFirstBarPaint()
- Returns the paint used to draw the first bar.
- Returns:
- The paint (never
null
).
setFirstBarPaint
public void setFirstBarPaint(java.awt.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).
getLastBarPaint
public java.awt.Paint getLastBarPaint()
- Returns the paint used to draw the last bar.
- Returns:
- The paint (never
null
).
setLastBarPaint
public void setLastBarPaint(java.awt.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).
getPositiveBarPaint
public java.awt.Paint getPositiveBarPaint()
- Returns the paint used to draw bars with positive values.
- Returns:
- The paint (never
null
).
setPositiveBarPaint
public void setPositiveBarPaint(java.awt.Paint paint)
- Sets the paint that will be used to draw bars having positive values.
- Parameters:
paint
- the paint (null
not permitted).
getNegativeBarPaint
public java.awt.Paint getNegativeBarPaint()
- Returns the paint used to draw bars with negative values.
- Returns:
- The paint (never
null
).
setNegativeBarPaint
public void setNegativeBarPaint(java.awt.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).
findRangeBounds
public Range findRangeBounds(CategoryDataset dataset)
- Returns the range of values the renderer requires to display all the
items from the specified dataset.
- Specified by:
findRangeBounds
in interface CategoryItemRenderer
- Overrides:
findRangeBounds
in class BarRenderer
- Parameters:
dataset
- the dataset (null
not permitted).
- Returns:
- The range (or
null
if the dataset is empty).
drawItem
public void drawItem(java.awt.Graphics2D g2,
CategoryItemRendererState state,
java.awt.geom.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.
- Specified by:
drawItem
in interface CategoryItemRenderer
- Overrides:
drawItem
in class BarRenderer
- 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.
equals
public boolean equals(java.lang.Object obj)
- Tests an object for equality with this instance.
- Overrides:
equals
in class BarRenderer
- Parameters:
obj
- the object (null
permitted).
- Returns:
- A boolean.
Copyright © 2000-2009 by Object Refinery Limited. All Rights Reserved.