Class StackedAreaRenderer
- java.lang.Object
-
- org.jfree.chart.renderer.AbstractRenderer
-
- org.jfree.chart.renderer.category.AbstractCategoryItemRenderer
-
- org.jfree.chart.renderer.category.AreaRenderer
-
- org.pentaho.plugin.jfreereport.reportcharts.backport.StackedAreaRenderer
-
- All Implemented Interfaces:
Serializable
,Cloneable
,org.jfree.chart.LegendItemSource
,org.jfree.chart.renderer.category.CategoryItemRenderer
,org.jfree.util.PublicCloneable
public class StackedAreaRenderer extends org.jfree.chart.renderer.category.AreaRenderer implements org.jfree.util.PublicCloneable, Serializable
This is a backport of the StackedAreaRenderer of JFreeChart 1.0.13; this class will be removed as soon as we are able to upgrade to a more recent version of JFreeChart. A renderer that draws stacked area charts for aCategoryPlot
. The example shown here is generated by theStackedAreaChartDemo1.java
program included in the JFreeChart Demo Collection:
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description StackedAreaRenderer()
Creates a new renderer.StackedAreaRenderer(boolean renderAsPercentages)
Creates a new renderer.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
drawItem(Graphics2D g2, org.jfree.chart.renderer.category.CategoryItemRendererState state, Rectangle2D dataArea, org.jfree.chart.plot.CategoryPlot plot, org.jfree.chart.axis.CategoryAxis domainAxis, org.jfree.chart.axis.ValueAxis rangeAxis, org.jfree.data.category.CategoryDataset dataset, int row, int column, int pass)
Draw a single data item.boolean
equals(Object obj)
Checks this instance for equality with an arbitrary object.org.jfree.data.Range
findRangeBounds(org.jfree.data.category.CategoryDataset 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 (2
) required by this renderer.protected double
getPreviousHeight(org.jfree.data.category.CategoryDataset dataset, int series, int category)
Deprecated.As of 1.0.13, as the method is never used internally.boolean
getRenderAsPercentages()
Returnstrue
if the renderer displays each item value as a percentage (so that the stacked areas add to 100%), andfalse
otherwise.protected double[]
getStackValues(org.jfree.data.category.CategoryDataset dataset, int series, int index)
Calculates the stacked values (one positive and one negative) of all series up to, but not including,series
for the specified item.void
setRenderAsPercentages(boolean asPercentages)
Sets the flag that controls whether the renderer displays each item value as a percentage (so that the stacked areas add to 100%), and sends aRendererChangeEvent
to all registered listeners.-
Methods inherited from class org.jfree.chart.renderer.category.AreaRenderer
clone, getEndType, getLegendItem, setEndType
-
Methods inherited from class org.jfree.chart.renderer.category.AbstractCategoryItemRenderer
addEntity, addItemEntity, calculateDomainMarkerTextAnchorPoint, calculateRangeMarkerTextAnchorPoint, createState, drawBackground, drawDomainGridline, drawDomainMarker, drawItemLabel, drawOutline, drawRangeGridline, drawRangeLine, drawRangeMarker, findRangeBounds, getBaseItemLabelGenerator, getBaseItemURLGenerator, getBaseToolTipGenerator, getColumnCount, getDomainAxis, getDrawingSupplier, getItemLabelGenerator, getItemMiddle, getItemURLGenerator, getLegendItemLabelGenerator, getLegendItems, getLegendItemToolTipGenerator, getLegendItemURLGenerator, getPlot, getRangeAxis, getRowCount, getSeriesItemLabelGenerator, getSeriesItemURLGenerator, getSeriesToolTipGenerator, getToolTipGenerator, getToolTipGenerator, hashCode, initialise, 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.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
-
-
-
-
Constructor Detail
-
StackedAreaRenderer
public StackedAreaRenderer()
Creates a new renderer.
-
StackedAreaRenderer
public StackedAreaRenderer(boolean renderAsPercentages)
Creates a new renderer.- Parameters:
renderAsPercentages
- a flag that controls whether the data values are rendered as percentages.
-
-
Method Detail
-
getRenderAsPercentages
public boolean getRenderAsPercentages()
Returnstrue
if the renderer displays each item value as a percentage (so that the stacked areas add to 100%), andfalse
otherwise.- Returns:
- A boolean.
- Since:
- 1.0.3
-
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 areas add to 100%), and sends aRendererChangeEvent
to all registered listeners.- Parameters:
asPercentages
- the flag.- Since:
- 1.0.3
-
getPassCount
public int getPassCount()
Returns the number of passes (2
) required by this renderer. The first pass is used to draw the areas, the second pass is used to draw the item labels (if visible).- Specified by:
getPassCount
in interfaceorg.jfree.chart.renderer.category.CategoryItemRenderer
- Overrides:
getPassCount
in classorg.jfree.chart.renderer.category.AbstractCategoryItemRenderer
- Returns:
- The number of passes required by the renderer.
-
findRangeBounds
public org.jfree.data.Range findRangeBounds(org.jfree.data.category.CategoryDataset dataset)
Returns the range of values the renderer requires to display all the items from the specified dataset.- Specified by:
findRangeBounds
in interfaceorg.jfree.chart.renderer.category.CategoryItemRenderer
- Overrides:
findRangeBounds
in classorg.jfree.chart.renderer.category.AbstractCategoryItemRenderer
- Parameters:
dataset
- the dataset (null
not permitted).- Returns:
- The range (or
null
if the dataset is empty).
-
drawItem
public void drawItem(Graphics2D g2, org.jfree.chart.renderer.category.CategoryItemRendererState state, Rectangle2D dataArea, org.jfree.chart.plot.CategoryPlot plot, org.jfree.chart.axis.CategoryAxis domainAxis, org.jfree.chart.axis.ValueAxis rangeAxis, org.jfree.data.category.CategoryDataset dataset, int row, int column, int pass)
Draw a single data item.- Specified by:
drawItem
in interfaceorg.jfree.chart.renderer.category.CategoryItemRenderer
- Overrides:
drawItem
in classorg.jfree.chart.renderer.category.AreaRenderer
- Parameters:
g2
- the graphics device.state
- the renderer state.dataArea
- the data plot area.plot
- the plot.domainAxis
- the domain axis.rangeAxis
- the range axis.dataset
- the data.row
- the row index (zero-based).column
- the column index (zero-based).pass
- the pass index.
-
getStackValues
protected double[] getStackValues(org.jfree.data.category.CategoryDataset dataset, int series, int index)
Calculates the stacked values (one positive and one negative) of all series up to, but not including,series
for the specified item. It returns [0.0, 0.0] ifseries
is the first series.- Parameters:
dataset
- the dataset (null
not permitted).series
- the series index.index
- the item index.- Returns:
- An array containing the cumulative negative and positive values for all series values up to but excluding
series
forindex
.
-
equals
public boolean equals(Object obj)
Checks this instance for equality with an arbitrary object.- Overrides:
equals
in classorg.jfree.chart.renderer.category.AreaRenderer
- Parameters:
obj
- the object (null
not permitted).- Returns:
- A boolean.
-
getPreviousHeight
protected double getPreviousHeight(org.jfree.data.category.CategoryDataset dataset, int series, int category)
Deprecated.As of 1.0.13, as the method is never used internally.Calculates the stacked value of the all series up to, but not includingseries
for the specified category,category
. It returns 0.0 ifseries
is the first series, i.e. 0.- Parameters:
dataset
- the dataset (null
not permitted).series
- the series.category
- the category.- Returns:
- double returns a cumulative value for all series' values up to but excluding
series
for Objectcategory
.
-
-