Class StackedBarRenderer3D
- 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.BarRenderer3D
-
- org.jfree.chart.renderer.category.StackedBarRenderer3D
-
- All Implemented Interfaces:
Serializable
,Cloneable
,Effect3D
,LegendItemSource
,CategoryItemRenderer
,org.jfree.util.PublicCloneable
public class StackedBarRenderer3D extends BarRenderer3D implements Cloneable, org.jfree.util.PublicCloneable, Serializable
Renders stacked bars with 3D-effect, for use with theCategoryPlot
class. The example shown here is generated by theStackedBarChart3DDemo1.java
program included in the JFreeChart Demo Collection:
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.jfree.chart.renderer.category.BarRenderer3D
DEFAULT_WALL_PAINT, DEFAULT_X_OFFSET, DEFAULT_Y_OFFSET
-
Fields inherited from class org.jfree.chart.renderer.category.BarRenderer
BAR_OUTLINE_WIDTH_THRESHOLD, DEFAULT_ITEM_MARGIN
-
Fields inherited from class org.jfree.chart.renderer.AbstractRenderer
DEFAULT_OUTLINE_PAINT, DEFAULT_OUTLINE_STROKE, DEFAULT_PAINT, DEFAULT_SHAPE, DEFAULT_STROKE, DEFAULT_VALUE_LABEL_FONT, DEFAULT_VALUE_LABEL_PAINT, ZERO
-
-
Constructor Summary
Constructors Constructor Description StackedBarRenderer3D()
Creates a new renderer with no tool tip generator and no URL generator.StackedBarRenderer3D(boolean renderAsPercentages)
Creates a new renderer.StackedBarRenderer3D(double xOffset, double yOffset)
Constructs a new renderer with the specified '3D effect'.StackedBarRenderer3D(double xOffset, double yOffset, boolean renderAsPercentages)
Constructs a new renderer with the specified '3D effect'.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected void
calculateBarWidth(CategoryPlot plot, Rectangle2D dataArea, int rendererIndex, CategoryItemRendererState state)
Calculates the bar width and stores it in the renderer state.protected List
createStackedValueList(CategoryDataset dataset, Comparable category, double base, boolean asPercentages)
Deprecated.As of 1.0.13, usecreateStackedValueList( CategoryDataset, Comparable, int[], double, boolean)
.protected List
createStackedValueList(CategoryDataset dataset, Comparable category, int[] includedRows, double base, boolean asPercentages)
Returns a list containing the stacked values for the specified series in the given dataset, plus the supplied base value.void
drawItem(Graphics2D g2, CategoryItemRendererState state, Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset, int row, int column, int pass)
Draws the visual representation of one data item from the chart (in fact, this method does nothing until it reaches the last item for each category, at which point it draws all the items for that category).protected void
drawStackHorizontal(List values, Comparable category, Graphics2D g2, CategoryItemRendererState state, Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset)
Draws a stack of bars for one category, with a horizontal orientation.protected void
drawStackVertical(List values, Comparable category, Graphics2D g2, CategoryItemRendererState state, Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset)
Draws a stack of bars for one category, with a vertical orientation.boolean
equals(Object obj)
Tests this renderer for equality with an arbitrary object.Range
findRangeBounds(CategoryDataset dataset)
Returns the range of values the renderer requires to display all the items from the specified dataset.boolean
getIgnoreZeroValues()
Returns the flag that controls whether or not zero values are drawn by the renderer.boolean
getRenderAsPercentages()
Returnstrue
if the renderer displays each item value as a percentage (so that the stacked bars add to 100%), andfalse
otherwise.int
hashCode()
Returns a hash code for this instance.void
setIgnoreZeroValues(boolean ignore)
Sets a flag that controls whether or not zero values are drawn by the renderer, and sends aRendererChangeEvent
to all registered listeners.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 aRendererChangeEvent
to all registered listeners.-
Methods inherited from class org.jfree.chart.renderer.category.BarRenderer3D
drawBackground, drawDomainGridline, drawOutline, drawRangeGridline, drawRangeLine, drawRangeMarker, getWallPaint, getXOffset, getYOffset, initialise, setWallPaint
-
Methods inherited from class org.jfree.chart.renderer.category.BarRenderer
calculateBarL0L1, calculateBarW0, calculateSeriesWidth, drawItemLabel, findRangeBounds, getBarPainter, getBase, getDefaultBarPainter, getDefaultShadowsVisible, getGradientPaintTransformer, getIncludeBaseInRange, getItemMargin, getLegendItem, getLowerClip, getMaximumBarWidth, getMinimumBarLength, getNegativeItemLabelPositionFallback, getPositiveItemLabelPositionFallback, getShadowPaint, getShadowsVisible, getShadowXOffset, getShadowYOffset, getUpperClip, 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, drawDomainMarker, drawItemLabel, getBaseItemLabelGenerator, getBaseItemURLGenerator, getBaseToolTipGenerator, getColumnCount, getDomainAxis, getDrawingSupplier, getItemLabelGenerator, getItemMiddle, getItemURLGenerator, getLegendItemLabelGenerator, getLegendItems, getLegendItemToolTipGenerator, getLegendItemURLGenerator, getPassCount, getPlot, getRangeAxis, getRowCount, getSeriesItemLabelGenerator, getSeriesItemURLGenerator, getSeriesToolTipGenerator, getToolTipGenerator, getToolTipGenerator, 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, getTreatLegendShapeAsLine, 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, setTreatLegendShapeAsLine
-
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
-
StackedBarRenderer3D
public StackedBarRenderer3D()
Creates a new renderer with no tool tip generator and no URL generator.The defaults (no tool tip or URL generators) have been chosen to minimise the processing required to generate a default chart. If you require tool tips or URLs, then you can easily add the required generators.
-
StackedBarRenderer3D
public StackedBarRenderer3D(double xOffset, double yOffset)
Constructs a new renderer with the specified '3D effect'.- Parameters:
xOffset
- the x-offset for the 3D effect.yOffset
- the y-offset for the 3D effect.
-
StackedBarRenderer3D
public StackedBarRenderer3D(boolean renderAsPercentages)
Creates a new renderer.- Parameters:
renderAsPercentages
- a flag that controls whether the data values are rendered as percentages.- Since:
- 1.0.2
-
StackedBarRenderer3D
public StackedBarRenderer3D(double xOffset, double yOffset, boolean renderAsPercentages)
Constructs a new renderer with the specified '3D effect'.- Parameters:
xOffset
- the x-offset for the 3D effect.yOffset
- the y-offset for the 3D effect.renderAsPercentages
- a flag that controls whether the data values are rendered as percentages.- Since:
- 1.0.2
-
-
Method Detail
-
getRenderAsPercentages
public boolean getRenderAsPercentages()
Returnstrue
if the renderer displays each item value as a percentage (so that the stacked bars add to 100%), andfalse
otherwise.- Returns:
- A boolean.
- Since:
- 1.0.2
-
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 bars add to 100%), and sends aRendererChangeEvent
to all registered listeners.- Parameters:
asPercentages
- the flag.- Since:
- 1.0.2
-
getIgnoreZeroValues
public boolean getIgnoreZeroValues()
Returns the flag that controls whether or not zero values are drawn by the renderer.- Returns:
- A boolean.
- Since:
- 1.0.14
-
setIgnoreZeroValues
public void setIgnoreZeroValues(boolean ignore)
Sets a flag that controls whether or not zero values are drawn by the renderer, and sends aRendererChangeEvent
to all registered listeners.- Parameters:
ignore
- the new flag value.- Since:
- 1.0.14
-
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 interfaceCategoryItemRenderer
- Overrides:
findRangeBounds
in classAbstractCategoryItemRenderer
- Parameters:
dataset
- the dataset (null
not permitted).- Returns:
- The range (or
null
if the dataset is empty).
-
calculateBarWidth
protected void calculateBarWidth(CategoryPlot plot, Rectangle2D dataArea, int rendererIndex, CategoryItemRendererState state)
Calculates the bar width and stores it in the renderer state.- Overrides:
calculateBarWidth
in classBarRenderer
- Parameters:
plot
- the plot.dataArea
- the data area.rendererIndex
- the renderer index.state
- the renderer state.
-
createStackedValueList
protected List createStackedValueList(CategoryDataset dataset, Comparable category, double base, boolean asPercentages)
Deprecated.As of 1.0.13, usecreateStackedValueList( CategoryDataset, Comparable, int[], double, boolean)
.Returns a list containing the stacked values for the specified series in the given dataset, plus the supplied base value.- Parameters:
dataset
- the dataset (null
not permitted).category
- the category key (null
not permitted).base
- the base value.asPercentages
- a flag that controls whether the values in the list are converted to percentages of the total.- Returns:
- The value list.
- Since:
- 1.0.4
-
createStackedValueList
protected List createStackedValueList(CategoryDataset dataset, Comparable category, int[] includedRows, double base, boolean asPercentages)
Returns a list containing the stacked values for the specified series in the given dataset, plus the supplied base value.- Parameters:
dataset
- the dataset (null
not permitted).category
- the category key (null
not permitted).includedRows
- the included rows.base
- the base value.asPercentages
- a flag that controls whether the values in the list are converted to percentages of the total.- Returns:
- The value list.
- Since:
- 1.0.13
-
drawItem
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 visual representation of one data item from the chart (in fact, this method does nothing until it reaches the last item for each category, at which point it draws all the items for that category).- Specified by:
drawItem
in interfaceCategoryItemRenderer
- Overrides:
drawItem
in classBarRenderer3D
- Parameters:
g2
- the graphics device.state
- the renderer state.dataArea
- the plot area.plot
- the plot.domainAxis
- the domain (category) axis.rangeAxis
- the range (value) axis.dataset
- the data.row
- the row index (zero-based).column
- the column index (zero-based).pass
- the pass index.
-
drawStackHorizontal
protected void drawStackHorizontal(List values, Comparable category, Graphics2D g2, CategoryItemRendererState state, Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset)
Draws a stack of bars for one category, with a horizontal orientation.- Parameters:
values
- the value list.category
- the category.g2
- the graphics device.state
- the state.dataArea
- the data area (adjusted for the 3D effect).plot
- the plot.domainAxis
- the domain axis.rangeAxis
- the range axis.dataset
- the dataset.- Since:
- 1.0.4
-
drawStackVertical
protected void drawStackVertical(List values, Comparable category, Graphics2D g2, CategoryItemRendererState state, Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset)
Draws a stack of bars for one category, with a vertical orientation.- Parameters:
values
- the value list.category
- the category.g2
- the graphics device.state
- the state.dataArea
- the data area (adjusted for the 3D effect).plot
- the plot.domainAxis
- the domain axis.rangeAxis
- the range axis.dataset
- the dataset.- Since:
- 1.0.4
-
equals
public boolean equals(Object obj)
Tests this renderer for equality with an arbitrary object.- Overrides:
equals
in classBarRenderer3D
- Parameters:
obj
- the object (null
permitted).- Returns:
- A boolean.
-
hashCode
public int hashCode()
Returns a hash code for this instance.- Overrides:
hashCode
in classAbstractCategoryItemRenderer
- Returns:
- A hash code.
-
-