org.jfree.chart.renderer.xy
Class StackedXYAreaRenderer
java.lang.Object
org.jfree.chart.renderer.AbstractRenderer
org.jfree.chart.renderer.xy.AbstractXYItemRenderer
org.jfree.chart.renderer.xy.XYAreaRenderer
org.jfree.chart.renderer.xy.StackedXYAreaRenderer
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, LegendItemSource, XYItemRenderer, org.jfree.util.PublicCloneable
public class StackedXYAreaRenderer
- extends XYAreaRenderer
- implements java.lang.Cloneable, org.jfree.util.PublicCloneable, java.io.Serializable
A stacked area renderer for the XYPlot
class.
The example shown here is generated by the
StackedXYAreaRendererDemo1.java
program included in the
JFreeChart demo collection:
SPECIAL NOTE: This renderer does not currently handle negative data values
correctly. This should get fixed at some point, but the current workaround
is to use the StackedXYAreaRenderer2
class instead.
- See Also:
- Serialized Form
Method Summary |
java.lang.Object |
clone()
Returns a clone of the renderer. |
void |
drawItem(java.awt.Graphics2D g2,
XYItemRendererState state,
java.awt.geom.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(java.lang.Object obj)
Tests the 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 the number of passes required by the renderer. |
protected double |
getPreviousHeight(TableXYDataset dataset,
int series,
int index)
Calculates the stacked value of the all series up to, but not including
series for the specified item. |
java.awt.Paint |
getShapePaint()
Returns the paint used for rendering shapes, or null if
using series paints. |
java.awt.Stroke |
getShapeStroke()
Returns the stroke used for rendering shapes, or null if
using series strokes. |
XYItemRendererState |
initialise(java.awt.Graphics2D g2,
java.awt.geom.Rectangle2D dataArea,
XYPlot plot,
XYDataset data,
PlotRenderingInfo info)
Initialises the renderer. |
void |
setShapePaint(java.awt.Paint shapePaint)
Sets the paint for rendering shapes and sends a
RendererChangeEvent to all registered listeners. |
void |
setShapeStroke(java.awt.Stroke shapeStroke)
Sets the stroke for rendering shapes and sends a
RendererChangeEvent to all registered listeners. |
Methods inherited from class org.jfree.chart.renderer.xy.AbstractXYItemRenderer |
addAnnotation, addAnnotation, addEntity, calculateDomainMarkerTextAnchorPoint, drawAnnotations, drawDomainGridLine, drawDomainLine, drawDomainMarker, drawItemLabel, drawRangeLine, drawRangeMarker, fillDomainGridBand, fillRangeGridBand, findDomainBounds, findDomainBounds, findRangeBounds, getAnnotations, getBaseItemLabelGenerator, getBaseToolTipGenerator, getDrawingSupplier, getItemLabelGenerator, getItemLabelGenerator, getLegendItemLabelGenerator, getLegendItems, getLegendItemToolTipGenerator, getLegendItemURLGenerator, getPlot, getSeriesItemLabelGenerator, getSeriesToolTipGenerator, getToolTipGenerator, getToolTipGenerator, getURLGenerator, isPointInRect, removeAnnotation, removeAnnotations, setBaseItemLabelGenerator, setBaseToolTipGenerator, setItemLabelGenerator, setLegendItemLabelGenerator, setLegendItemToolTipGenerator, setLegendItemURLGenerator, setPlot, setSeriesItemLabelGenerator, setSeriesToolTipGenerator, setToolTipGenerator, setURLGenerator, updateCrosshairValues, 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, hashCode, 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.chart.renderer.xy.XYItemRenderer |
addAnnotation, addAnnotation, addChangeListener, drawAnnotations, drawDomainGridLine, drawDomainMarker, drawRangeLine, drawRangeMarker, fillDomainGridBand, fillRangeGridBand, findDomainBounds, getBaseItemLabelFont, getBaseItemLabelGenerator, getBaseItemLabelPaint, getBaseItemLabelsVisible, getBaseNegativeItemLabelPosition, getBaseOutlinePaint, getBaseOutlineStroke, getBasePaint, getBasePositiveItemLabelPosition, getBaseSeriesVisible, getBaseSeriesVisibleInLegend, getBaseShape, getBaseStroke, getBaseToolTipGenerator, getItemLabelFont, getItemLabelFont, getItemLabelGenerator, getItemLabelPaint, getItemLabelPaint, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getItemVisible, getLegendItemLabelGenerator, getNegativeItemLabelPosition, getNegativeItemLabelPosition, getPlot, getPositiveItemLabelPosition, getPositiveItemLabelPosition, getSeriesItemLabelFont, getSeriesItemLabelGenerator, getSeriesItemLabelPaint, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, getSeriesToolTipGenerator, getSeriesVisible, getSeriesVisible, getSeriesVisibleInLegend, getSeriesVisibleInLegend, getToolTipGenerator, getURLGenerator, isItemLabelVisible, isSeriesItemLabelsVisible, isSeriesVisible, isSeriesVisibleInLegend, removeAnnotation, removeAnnotations, removeChangeListener, setBaseItemLabelFont, setBaseItemLabelGenerator, setBaseItemLabelPaint, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseNegativeItemLabelPosition, setBaseNegativeItemLabelPosition, setBaseOutlinePaint, setBaseOutlineStroke, setBasePaint, setBasePositiveItemLabelPosition, setBasePositiveItemLabelPosition, setBaseSeriesVisible, setBaseSeriesVisible, setBaseSeriesVisibleInLegend, setBaseSeriesVisibleInLegend, setBaseShape, setBaseStroke, setBaseToolTipGenerator, setItemLabelFont, setItemLabelGenerator, setItemLabelPaint, setItemLabelsVisible, setItemLabelsVisible, setItemLabelsVisible, setLegendItemLabelGenerator, setNegativeItemLabelPosition, setNegativeItemLabelPosition, setOutlinePaint, setOutlineStroke, setPaint, setPlot, setPositiveItemLabelPosition, setPositiveItemLabelPosition, setSeriesItemLabelFont, setSeriesItemLabelGenerator, setSeriesItemLabelPaint, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesNegativeItemLabelPosition, setSeriesNegativeItemLabelPosition, setSeriesOutlinePaint, setSeriesOutlineStroke, setSeriesPaint, setSeriesPositiveItemLabelPosition, setSeriesPositiveItemLabelPosition, setSeriesShape, setSeriesStroke, setSeriesToolTipGenerator, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setShape, setStroke, setToolTipGenerator, setURLGenerator |
StackedXYAreaRenderer
public StackedXYAreaRenderer()
- Creates a new renderer.
StackedXYAreaRenderer
public StackedXYAreaRenderer(int type)
- Constructs a new renderer.
- Parameters:
type
- the type of the renderer.
StackedXYAreaRenderer
public StackedXYAreaRenderer(int type,
XYToolTipGenerator labelGenerator,
XYURLGenerator urlGenerator)
- Constructs a new renderer. To specify the type of renderer, use one of
the constants:
SHAPES
, LINES
,
SHAPES_AND_LINES
, AREA
or
AREA_AND_SHAPES
.
- Parameters:
type
- the type of renderer.labelGenerator
- the tool tip generator to use (null
is none).urlGenerator
- the URL generator (null
permitted).
getShapePaint
public java.awt.Paint getShapePaint()
- Returns the paint used for rendering shapes, or
null
if
using series paints.
- Returns:
- The paint (possibly
null
). - See Also:
setShapePaint(Paint)
setShapePaint
public void setShapePaint(java.awt.Paint shapePaint)
- Sets the paint for rendering shapes and sends a
RendererChangeEvent
to all registered listeners.
- Parameters:
shapePaint
- the paint (null
permitted).- See Also:
getShapePaint()
getShapeStroke
public java.awt.Stroke getShapeStroke()
- Returns the stroke used for rendering shapes, or
null
if
using series strokes.
- Returns:
- The stroke (possibly
null
). - See Also:
setShapeStroke(Stroke)
setShapeStroke
public void setShapeStroke(java.awt.Stroke shapeStroke)
- Sets the stroke for rendering shapes and sends a
RendererChangeEvent
to all registered listeners.
- Parameters:
shapeStroke
- the stroke (null
permitted).- See Also:
getShapeStroke()
initialise
public XYItemRendererState initialise(java.awt.Graphics2D g2,
java.awt.geom.Rectangle2D dataArea,
XYPlot plot,
XYDataset data,
PlotRenderingInfo info)
- Initialises the renderer. This method will be called before the first
item is rendered, giving the renderer an opportunity to initialise any
state information it wants to maintain.
- Specified by:
initialise
in interface XYItemRenderer
- Overrides:
initialise
in class XYAreaRenderer
- 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 that should be passed to subsequent calls to the
drawItem() method.
getPassCount
public int getPassCount()
- Returns the number of passes required by the renderer.
- Specified by:
getPassCount
in interface XYItemRenderer
- Overrides:
getPassCount
in class AbstractXYItemRenderer
- Returns:
- 2.
findRangeBounds
public Range findRangeBounds(XYDataset dataset)
- Returns the range of values the renderer requires to display all the
items from the specified dataset.
- Specified by:
findRangeBounds
in interface XYItemRenderer
- Overrides:
findRangeBounds
in class AbstractXYItemRenderer
- Parameters:
dataset
- the dataset (null
permitted).
- Returns:
- The range ([0.0, 0.0] if the dataset contains no values, and
null
if the dataset is null
).
- Throws:
java.lang.ClassCastException
- if dataset
is not an instance
of TableXYDataset
.- See Also:
AbstractXYItemRenderer.findDomainBounds(XYDataset)
drawItem
public void drawItem(java.awt.Graphics2D g2,
XYItemRendererState state,
java.awt.geom.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.
- Specified by:
drawItem
in interface XYItemRenderer
- Overrides:
drawItem
in class XYAreaRenderer
- Parameters:
g2
- the graphics device.state
- the renderer state.dataArea
- the area within which the data 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
- information about crosshairs on a plot.pass
- the pass index.
- Throws:
java.lang.ClassCastException
- if state
is not an instance of
StackedXYAreaRendererState
or dataset
is not an instance of TableXYDataset
.
getPreviousHeight
protected double getPreviousHeight(TableXYDataset dataset,
int series,
int index)
- Calculates the stacked value of the all series up to, but not including
series
for the specified item. It returns 0.0 if
series
is the first series, i.e. 0.
- Parameters:
dataset
- the dataset.series
- the series.index
- the index.
- Returns:
- The cumulative value for all series' values up to but excluding
series
for index
.
equals
public boolean equals(java.lang.Object obj)
- Tests the renderer for equality with an arbitrary object.
- Overrides:
equals
in class XYAreaRenderer
- Parameters:
obj
- the object (null
permitted).
- Returns:
- A boolean.
clone
public java.lang.Object clone()
throws java.lang.CloneNotSupportedException
- Returns a clone of the renderer.
- Specified by:
clone
in interface org.jfree.util.PublicCloneable
- Overrides:
clone
in class XYAreaRenderer
- Returns:
- A clone.
- Throws:
java.lang.CloneNotSupportedException
- if the renderer cannot be cloned.
Copyright © 2000-2009 by Object Refinery Limited. All Rights Reserved.