Package org.jfree.chart.renderer.xy
Class XYAreaRenderer
- java.lang.Object
-
- org.jfree.chart.renderer.AbstractRenderer
-
- org.jfree.chart.renderer.xy.AbstractXYItemRenderer
-
- org.jfree.chart.renderer.xy.XYAreaRenderer
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,java.util.EventListener
,AnnotationChangeListener
,LegendItemSource
,XYItemRenderer
,PublicCloneable
- Direct Known Subclasses:
StackedXYAreaRenderer
public class XYAreaRenderer extends AbstractXYItemRenderer implements XYItemRenderer, PublicCloneable
Area item renderer for anXYPlot
. This class can draw (a) shapes at each point, or (b) lines between points, or (c) both shapes and lines, or (d) filled areas, or (e) filled areas and shapes. The example shown here is generated by theXYAreaRendererDemo1.java
program included in the JFreeChart demo collection:
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
XYAreaRenderer.XYAreaRendererState
A state object used by this renderer.
-
Field Summary
Fields Modifier and Type Field Description static int
AREA
Useful constant for specifying the type of rendering (area only).static int
AREA_AND_SHAPES
Useful constant for specifying the type of rendering (area and shapes).private GradientPaintTransformer
gradientTransformer
A transformer that is applied to the paint used to fill under the area *if* it is an instance of GradientPaint.private java.awt.Shape
legendArea
The shape used to represent an area in each legend item (this should never benull
).static int
LINES
Useful constant for specifying the type of rendering (lines only).private boolean
plotArea
A flag indicating whether or not Area are drawn at each XY point.private boolean
plotLines
A flag indicating whether or not lines are drawn between XY points.private boolean
plotShapes
A flag indicating whether or not shapes are drawn at each XY point.private static long
serialVersionUID
For serialization.static int
SHAPES
Useful constant for specifying the type of rendering (shapes only).static int
SHAPES_AND_LINES
Useful constant for specifying the type of rendering (shapes and lines).private boolean
showOutline
A flag that controls whether or not the outline is shown.private boolean
useFillPaint
A flag that can be set to specify that the fill paint should be used to fill the area under the renderer.-
Fields inherited from class org.jfree.chart.renderer.AbstractRenderer
DEFAULT_ITEM_LABEL_INSETS, 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 XYAreaRenderer()
Constructs a new renderer.XYAreaRenderer(int type)
Constructs a new renderer.XYAreaRenderer(int type, XYToolTipGenerator toolTipGenerator, XYURLGenerator urlGenerator)
Constructs a new renderer.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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 this renderer for equality with an arbitrary object.GradientPaintTransformer
getGradientTransformer()
Returns the gradient paint transformer.java.awt.Shape
getLegendArea()
Returns the shape used to represent an area in the legend.LegendItem
getLegendItem(int datasetIndex, int series)
Returns a default legend item for the specified series.boolean
getPlotArea()
Returns true if Area is being plotted by the renderer.boolean
getPlotLines()
Returns true if lines are being plotted by the renderer.boolean
getPlotShapes()
Returns true if shapes are being plotted by the renderer.boolean
getUseFillPaint()
Returns the flag that controls whether the series fill paint is used to fill the area under the line.int
hashCode()
Returns a hash code for this instance.XYItemRendererState
initialise(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, XYPlot plot, XYDataset data, PlotRenderingInfo info)
Initialises the renderer and returns a state object that should be passed to all subsequent calls to the drawItem() method.boolean
isOutline()
Returns a flag that controls whether or not outlines of the areas are drawn.private void
readObject(java.io.ObjectInputStream stream)
Provides serialization support.void
setGradientTransformer(GradientPaintTransformer transformer)
Sets the gradient paint transformer and sends aRendererChangeEvent
to all registered listeners.void
setLegendArea(java.awt.Shape area)
Sets the shape used as an area in each legend item and sends aRendererChangeEvent
to all registered listeners.void
setOutline(boolean show)
Sets a flag that controls whether or not outlines of the areas are drawn and sends aRendererChangeEvent
to all registered listeners.void
setUseFillPaint(boolean use)
Sets the flag that controls whether or not the series fill paint is used to fill the area under the line and sends aRendererChangeEvent
to all listeners.private void
writeObject(java.io.ObjectOutputStream stream)
Provides serialization support.-
Methods inherited from class org.jfree.chart.renderer.xy.AbstractXYItemRenderer
addAnnotation, addAnnotation, addEntity, annotationChanged, beginElementGroup, calculateDomainMarkerTextAnchorPoint, drawAnnotations, drawDomainLine, drawDomainMarker, drawItemLabel, drawRangeLine, drawRangeMarker, fillDomainGridBand, fillRangeGridBand, findDomainBounds, findDomainBounds, findRangeBounds, findRangeBounds, getAnnotations, getDefaultItemLabelGenerator, getDefaultToolTipGenerator, getDrawingSupplier, getItemLabelGenerator, getLegendItemLabelGenerator, getLegendItems, getLegendItemToolTipGenerator, getLegendItemURLGenerator, getPassCount, getPlot, getSeriesItemLabelGenerator, getSeriesToolTipGenerator, getToolTipGenerator, getURLGenerator, lineTo, moveTo, removeAnnotation, removeAnnotations, setDefaultItemLabelGenerator, setDefaultToolTipGenerator, setLegendItemLabelGenerator, setLegendItemToolTipGenerator, setLegendItemURLGenerator, setPlot, setSeriesItemLabelGenerator, setSeriesToolTipGenerator, setURLGenerator, updateCrosshairValues
-
Methods inherited from class org.jfree.chart.renderer.AbstractRenderer
addChangeListener, beginElementGroup, calculateLabelAnchorPoint, clearSeriesPaints, clearSeriesStrokes, endElementGroup, fireChangeEvent, getAutoPopulateSeriesFillPaint, getAutoPopulateSeriesOutlinePaint, getAutoPopulateSeriesOutlineStroke, getAutoPopulateSeriesPaint, getAutoPopulateSeriesShape, getAutoPopulateSeriesStroke, getDataBoundsIncludesVisibleSeriesOnly, getDefaultCreateEntities, getDefaultEntityRadius, getDefaultFillPaint, getDefaultItemLabelFont, getDefaultItemLabelPaint, getDefaultItemLabelsVisible, getDefaultLegendShape, getDefaultLegendTextFont, getDefaultLegendTextPaint, getDefaultNegativeItemLabelPosition, getDefaultOutlinePaint, getDefaultOutlineStroke, getDefaultPaint, getDefaultPositiveItemLabelPosition, getDefaultSeriesVisible, getDefaultSeriesVisibleInLegend, getDefaultShape, getDefaultStroke, getItemCreateEntity, getItemFillPaint, getItemLabelAnchorOffset, getItemLabelFont, getItemLabelInsets, getItemLabelPaint, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getItemVisible, getLegendShape, getLegendTextFont, getLegendTextPaint, getNegativeItemLabelPosition, getPositiveItemLabelPosition, getSeriesCreateEntities, getSeriesFillPaint, getSeriesItemLabelFont, getSeriesItemLabelPaint, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, getSeriesVisible, getSeriesVisibleInLegend, getTreatLegendShapeAsLine, hasListener, isComputeItemLabelContrastColor, isItemLabelVisible, isSeriesItemLabelsVisible, isSeriesVisible, isSeriesVisibleInLegend, lookupLegendShape, lookupLegendTextFont, lookupLegendTextPaint, lookupSeriesFillPaint, lookupSeriesOutlinePaint, lookupSeriesOutlineStroke, lookupSeriesPaint, lookupSeriesShape, lookupSeriesStroke, notifyListeners, removeChangeListener, setAutoPopulateSeriesFillPaint, setAutoPopulateSeriesOutlinePaint, setAutoPopulateSeriesOutlineStroke, setAutoPopulateSeriesPaint, setAutoPopulateSeriesShape, setAutoPopulateSeriesStroke, setComputeItemLabelContrastColor, setDataBoundsIncludesVisibleSeriesOnly, setDefaultCreateEntities, setDefaultCreateEntities, setDefaultEntityRadius, setDefaultFillPaint, setDefaultFillPaint, setDefaultItemLabelFont, setDefaultItemLabelFont, setDefaultItemLabelPaint, setDefaultItemLabelPaint, setDefaultItemLabelsVisible, setDefaultItemLabelsVisible, setDefaultLegendShape, setDefaultLegendTextFont, setDefaultLegendTextPaint, setDefaultNegativeItemLabelPosition, setDefaultNegativeItemLabelPosition, setDefaultOutlinePaint, setDefaultOutlinePaint, setDefaultOutlineStroke, setDefaultOutlineStroke, setDefaultPaint, setDefaultPaint, setDefaultPositiveItemLabelPosition, setDefaultPositiveItemLabelPosition, setDefaultSeriesVisible, setDefaultSeriesVisible, setDefaultSeriesVisibleInLegend, setDefaultSeriesVisibleInLegend, setDefaultShape, setDefaultShape, setDefaultStroke, setDefaultStroke, setItemLabelAnchorOffset, setItemLabelInsets, setLegendShape, setLegendTextFont, setLegendTextPaint, 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, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setTreatLegendShapeAsLine
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.jfree.chart.LegendItemSource
getLegendItems
-
Methods inherited from interface org.jfree.chart.renderer.xy.XYItemRenderer
addAnnotation, addAnnotation, addChangeListener, drawAnnotations, drawDomainLine, drawDomainMarker, drawRangeLine, drawRangeMarker, fillDomainGridBand, fillRangeGridBand, findDomainBounds, findRangeBounds, getDefaultCreateEntities, getDefaultFillPaint, getDefaultItemLabelFont, getDefaultItemLabelGenerator, getDefaultItemLabelPaint, getDefaultItemLabelsVisible, getDefaultNegativeItemLabelPosition, getDefaultOutlinePaint, getDefaultOutlineStroke, getDefaultPaint, getDefaultPositiveItemLabelPosition, getDefaultSeriesVisible, getDefaultSeriesVisibleInLegend, getDefaultShape, getDefaultStroke, getDefaultToolTipGenerator, getItemCreateEntity, getItemFillPaint, getItemLabelFont, getItemLabelGenerator, getItemLabelPaint, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getItemVisible, getLegendItemLabelGenerator, getNegativeItemLabelPosition, getPassCount, getPlot, getPositiveItemLabelPosition, getSeriesCreateEntities, getSeriesFillPaint, getSeriesItemLabelFont, getSeriesItemLabelGenerator, getSeriesItemLabelPaint, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, getSeriesToolTipGenerator, getSeriesVisible, getSeriesVisibleInLegend, getToolTipGenerator, getURLGenerator, isItemLabelVisible, isSeriesItemLabelsVisible, isSeriesVisible, isSeriesVisibleInLegend, removeAnnotation, removeAnnotations, removeChangeListener, setDefaultCreateEntities, setDefaultCreateEntities, setDefaultFillPaint, setDefaultFillPaint, setDefaultItemLabelFont, setDefaultItemLabelGenerator, setDefaultItemLabelPaint, setDefaultItemLabelsVisible, setDefaultItemLabelsVisible, setDefaultNegativeItemLabelPosition, setDefaultNegativeItemLabelPosition, setDefaultOutlinePaint, setDefaultOutlinePaint, setDefaultOutlineStroke, setDefaultOutlineStroke, setDefaultPaint, setDefaultPaint, setDefaultPositiveItemLabelPosition, setDefaultPositiveItemLabelPosition, setDefaultSeriesVisible, setDefaultSeriesVisible, setDefaultSeriesVisibleInLegend, setDefaultSeriesVisibleInLegend, setDefaultShape, setDefaultShape, setDefaultStroke, setDefaultStroke, setDefaultToolTipGenerator, setLegendItemLabelGenerator, setPlot, setSeriesCreateEntities, setSeriesCreateEntities, setSeriesFillPaint, setSeriesFillPaint, setSeriesItemLabelFont, setSeriesItemLabelGenerator, setSeriesItemLabelPaint, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesNegativeItemLabelPosition, setSeriesNegativeItemLabelPosition, setSeriesOutlinePaint, setSeriesOutlinePaint, setSeriesOutlineStroke, setSeriesOutlineStroke, setSeriesPaint, setSeriesPaint, setSeriesPositiveItemLabelPosition, setSeriesPositiveItemLabelPosition, setSeriesShape, setSeriesShape, setSeriesStroke, setSeriesStroke, setSeriesToolTipGenerator, setSeriesVisible, setSeriesVisible, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setURLGenerator
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
For serialization.- See Also:
- Constant Field Values
-
SHAPES
public static final int SHAPES
Useful constant for specifying the type of rendering (shapes only).- See Also:
- Constant Field Values
-
LINES
public static final int LINES
Useful constant for specifying the type of rendering (lines only).- See Also:
- Constant Field Values
-
SHAPES_AND_LINES
public static final int SHAPES_AND_LINES
Useful constant for specifying the type of rendering (shapes and lines).- See Also:
- Constant Field Values
-
AREA
public static final int AREA
Useful constant for specifying the type of rendering (area only).- See Also:
- Constant Field Values
-
AREA_AND_SHAPES
public static final int AREA_AND_SHAPES
Useful constant for specifying the type of rendering (area and shapes).- See Also:
- Constant Field Values
-
plotShapes
private boolean plotShapes
A flag indicating whether or not shapes are drawn at each XY point.
-
plotLines
private boolean plotLines
A flag indicating whether or not lines are drawn between XY points.
-
plotArea
private boolean plotArea
A flag indicating whether or not Area are drawn at each XY point.
-
showOutline
private boolean showOutline
A flag that controls whether or not the outline is shown.
-
legendArea
private transient java.awt.Shape legendArea
The shape used to represent an area in each legend item (this should never benull
).
-
useFillPaint
private boolean useFillPaint
A flag that can be set to specify that the fill paint should be used to fill the area under the renderer.
-
gradientTransformer
private GradientPaintTransformer gradientTransformer
A transformer that is applied to the paint used to fill under the area *if* it is an instance of GradientPaint.
-
-
Constructor Detail
-
XYAreaRenderer
public XYAreaRenderer()
Constructs a new renderer.
-
XYAreaRenderer
public XYAreaRenderer(int type)
Constructs a new renderer.- Parameters:
type
- the type of the renderer.
-
XYAreaRenderer
public XYAreaRenderer(int type, XYToolTipGenerator toolTipGenerator, XYURLGenerator urlGenerator)
Constructs a new renderer. To specify the type of renderer, use one of the constants:SHAPES
,LINES
,SHAPES_AND_LINES
,AREA
orAREA_AND_SHAPES
.- Parameters:
type
- the type of renderer.toolTipGenerator
- the tool tip generator (null
permitted).urlGenerator
- the URL generator (null
permitted).
-
-
Method Detail
-
getPlotShapes
public boolean getPlotShapes()
Returns true if shapes are being plotted by the renderer.- Returns:
true
if shapes are being plotted by the renderer.
-
getPlotLines
public boolean getPlotLines()
Returns true if lines are being plotted by the renderer.- Returns:
true
if lines are being plotted by the renderer.
-
getPlotArea
public boolean getPlotArea()
Returns true if Area is being plotted by the renderer.- Returns:
true
if Area is being plotted by the renderer.
-
isOutline
public boolean isOutline()
Returns a flag that controls whether or not outlines of the areas are drawn.- Returns:
- The flag.
- See Also:
setOutline(boolean)
-
setOutline
public void setOutline(boolean show)
Sets a flag that controls whether or not outlines of the areas are drawn and sends aRendererChangeEvent
to all registered listeners.- Parameters:
show
- the flag.- See Also:
isOutline()
-
getLegendArea
public java.awt.Shape getLegendArea()
Returns the shape used to represent an area in the legend.- Returns:
- The legend area (never
null
).
-
setLegendArea
public void setLegendArea(java.awt.Shape area)
Sets the shape used as an area in each legend item and sends aRendererChangeEvent
to all registered listeners.- Parameters:
area
- the area (null
not permitted).
-
getUseFillPaint
public boolean getUseFillPaint()
Returns the flag that controls whether the series fill paint is used to fill the area under the line.- Returns:
- A boolean.
-
setUseFillPaint
public void setUseFillPaint(boolean use)
Sets the flag that controls whether or not the series fill paint is used to fill the area under the line and sends aRendererChangeEvent
to all listeners.- Parameters:
use
- the new flag value.
-
getGradientTransformer
public GradientPaintTransformer getGradientTransformer()
Returns the gradient paint transformer.- Returns:
- The gradient paint transformer (never
null
).
-
setGradientTransformer
public void setGradientTransformer(GradientPaintTransformer transformer)
Sets the gradient paint transformer and sends aRendererChangeEvent
to all registered listeners.- Parameters:
transformer
- the transformer (null
not permitted).
-
initialise
public XYItemRendererState initialise(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, XYPlot plot, XYDataset data, PlotRenderingInfo info)
Initialises the renderer and returns a state object that should be passed to all subsequent calls to the drawItem() method.- Specified by:
initialise
in interfaceXYItemRenderer
- Overrides:
initialise
in classAbstractXYItemRenderer
- 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 for use by the renderer.
-
getLegendItem
public LegendItem getLegendItem(int datasetIndex, int series)
Returns a default legend item for the specified series. Subclasses should override this method to generate customised items.- Specified by:
getLegendItem
in interfaceXYItemRenderer
- Overrides:
getLegendItem
in classAbstractXYItemRenderer
- Parameters:
datasetIndex
- the dataset index (zero-based).series
- the series index (zero-based).- Returns:
- A legend item for the series.
-
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 interfaceXYItemRenderer
- 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
- crosshair information for the plot (null
permitted).pass
- the pass index.
-
clone
public java.lang.Object clone() throws java.lang.CloneNotSupportedException
Returns a clone of the renderer.- Specified by:
clone
in interfacePublicCloneable
- Overrides:
clone
in classAbstractXYItemRenderer
- Returns:
- A clone.
- Throws:
java.lang.CloneNotSupportedException
- if the renderer cannot be cloned.
-
equals
public boolean equals(java.lang.Object obj)
Tests this renderer for equality with an arbitrary object.- Overrides:
equals
in classAbstractXYItemRenderer
- Parameters:
obj
- the object (null
permitted).- Returns:
- A boolean.
-
hashCode
public int hashCode()
Returns a hash code for this instance.- Overrides:
hashCode
in classAbstractXYItemRenderer
- Returns:
- A hash code.
-
readObject
private void readObject(java.io.ObjectInputStream stream) throws java.io.IOException, java.lang.ClassNotFoundException
Provides serialization support.- Parameters:
stream
- the input stream.- Throws:
java.io.IOException
- if there is an I/O error.java.lang.ClassNotFoundException
- if there is a classpath problem.
-
writeObject
private void writeObject(java.io.ObjectOutputStream stream) throws java.io.IOException
Provides serialization support.- Parameters:
stream
- the output stream.- Throws:
java.io.IOException
- if there is an I/O error.
-
-