Package org.jfree.chart.renderer.xy
Class XYStepAreaRenderer
- java.lang.Object
-
- org.jfree.chart.renderer.AbstractRenderer
-
- org.jfree.chart.renderer.xy.AbstractXYItemRenderer
-
- org.jfree.chart.renderer.xy.XYStepAreaRenderer
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,java.util.EventListener
,AnnotationChangeListener
,LegendItemSource
,XYItemRenderer
,PublicCloneable
public class XYStepAreaRenderer extends AbstractXYItemRenderer implements XYItemRenderer, java.lang.Cloneable, PublicCloneable, java.io.Serializable
A step chart renderer that fills the area between the step and the x-axis. The example shown here is generated by theXYStepAreaRendererDemo1.java
program included in the JFreeChart demo collection:
- See Also:
- Serialized Form
-
-
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).protected java.awt.Polygon
pArea
Area of the complete seriesprivate boolean
plotArea
A flag indicating whether or not Area are drawn at each XY point.private double
rangeBase
The value on the range axis which defines the 'lower' border of the area.private static long
serialVersionUID
For serialization.static int
SHAPES
Useful constant for specifying the type of rendering (shapes only).private boolean
shapesFilled
A flag that controls whether or not shapes are filled for ALL series.private boolean
shapesVisible
A flag indicating whether or not shapes are drawn at each XY point.private boolean
showOutline
A flag that controls whether or not the outline is shown.private double
stepPoint
The factor (from 0.0 to 1.0) that determines the position of the step.-
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 XYStepAreaRenderer()
Constructs a new renderer.XYStepAreaRenderer(int type)
Constructs a new renderer.XYStepAreaRenderer(int type, XYToolTipGenerator toolTipGenerator, XYURLGenerator urlGenerator)
Constructs a new renderer.
-
Method Summary
All Methods Static 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.boolean
getPlotArea()
Returns true if Area is being plotted by the renderer.double
getRangeBase()
Returns the value on the range axis which defines the 'lower' border of the area.boolean
getShapesVisible()
Returns true if shapes are being plotted by the renderer.double
getStepPoint()
Returns the fraction of the domain position between two points on which the step is drawn.XYItemRendererState
initialise(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, XYPlot plot, XYDataset data, PlotRenderingInfo info)
Initialises the renderer.boolean
isOutline()
Returns a flag that controls whether or not outlines of the areas are drawn.boolean
isShapesFilled()
Returns the flag that controls whether or not the shapes are filled.protected static double
restrictValueToDataArea(double value, XYPlot plot, java.awt.geom.Rectangle2D dataArea)
Helper method which returns a value if it lies inside the visible dataArea and otherwise the corresponding coordinate on the border of the dataArea.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
setPlotArea(boolean flag)
Sets a flag that controls whether or not areas are drawn for each data item and sends aRendererChangeEvent
to all registered listeners.void
setRangeBase(double val)
Sets the value on the range axis which defines the default border of the area, and sends aRendererChangeEvent
to all registered listeners.void
setShapesFilled(boolean filled)
Sets the 'shapes filled' for ALL series and sends aRendererChangeEvent
to all registered listeners.void
setShapesVisible(boolean flag)
Sets the flag that controls whether or not shapes are displayed for each data item, and sends aRendererChangeEvent
to all registered listeners.void
setStepPoint(double stepPoint)
Sets the step point and sends aRendererChangeEvent
to all registered listeners.-
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, getLegendItem, getLegendItemLabelGenerator, getLegendItems, getLegendItemToolTipGenerator, getLegendItemURLGenerator, getPassCount, getPlot, getSeriesItemLabelGenerator, getSeriesToolTipGenerator, getToolTipGenerator, getURLGenerator, hashCode, 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, getLegendItem, 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
-
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
-
shapesVisible
private boolean shapesVisible
A flag indicating whether or not shapes are drawn at each XY point.
-
shapesFilled
private boolean shapesFilled
A flag that controls whether or not shapes are filled for ALL series.
-
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.
-
pArea
protected transient java.awt.Polygon pArea
Area of the complete series
-
rangeBase
private double rangeBase
The value on the range axis which defines the 'lower' border of the area.
-
stepPoint
private double stepPoint
The factor (from 0.0 to 1.0) that determines the position of the step.
-
-
Constructor Detail
-
XYStepAreaRenderer
public XYStepAreaRenderer()
Constructs a new renderer.
-
XYStepAreaRenderer
public XYStepAreaRenderer(int type)
Constructs a new renderer.- Parameters:
type
- the type of the renderer.
-
XYStepAreaRenderer
public XYStepAreaRenderer(int type, XYToolTipGenerator toolTipGenerator, XYURLGenerator urlGenerator)
Constructs a new renderer.To specify the type of renderer, use one of the constants: AREA, SHAPES or AREA_AND_SHAPES.
- Parameters:
type
- the type of renderer.toolTipGenerator
- the tool tip generator to use (null
permitted).urlGenerator
- the URL generator (null
permitted).
-
-
Method Detail
-
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()
-
getShapesVisible
public boolean getShapesVisible()
Returns true if shapes are being plotted by the renderer.- Returns:
true
if shapes are being plotted by the renderer.- See Also:
setShapesVisible(boolean)
-
setShapesVisible
public void setShapesVisible(boolean flag)
Sets the flag that controls whether or not shapes are displayed for each data item, and sends aRendererChangeEvent
to all registered listeners.- Parameters:
flag
- the flag.- See Also:
getShapesVisible()
-
isShapesFilled
public boolean isShapesFilled()
Returns the flag that controls whether or not the shapes are filled.- Returns:
- A boolean.
- See Also:
setShapesFilled(boolean)
-
setShapesFilled
public void setShapesFilled(boolean filled)
Sets the 'shapes filled' for ALL series and sends aRendererChangeEvent
to all registered listeners.- Parameters:
filled
- the flag.- See Also:
isShapesFilled()
-
getPlotArea
public boolean getPlotArea()
Returns true if Area is being plotted by the renderer.- Returns:
true
if Area is being plotted by the renderer.- See Also:
setPlotArea(boolean)
-
setPlotArea
public void setPlotArea(boolean flag)
Sets a flag that controls whether or not areas are drawn for each data item and sends aRendererChangeEvent
to all registered listeners.- Parameters:
flag
- the flag.- See Also:
getPlotArea()
-
getRangeBase
public double getRangeBase()
Returns the value on the range axis which defines the 'lower' border of the area.- Returns:
double
the value on the range axis which defines the 'lower' border of the area.- See Also:
setRangeBase(double)
-
setRangeBase
public void setRangeBase(double val)
Sets the value on the range axis which defines the default border of the area, and sends aRendererChangeEvent
to all registered listeners. E.g. setRangeBase(Double.NEGATIVE_INFINITY) lets areas always reach the lower border of the plotArea.- Parameters:
val
- the value on the range axis which defines the default border of the area.- See Also:
getRangeBase()
-
getStepPoint
public double getStepPoint()
Returns the fraction of the domain position between two points on which the step is drawn. The default is 1.0d, which means the step is drawn at the domain position of the second`point. If the stepPoint is 0.5d the step is drawn at half between the two points.- Returns:
- The fraction of the domain position between two points where the step is drawn.
- See Also:
setStepPoint(double)
-
setStepPoint
public void setStepPoint(double stepPoint)
Sets the step point and sends aRendererChangeEvent
to all registered listeners.- Parameters:
stepPoint
- the step point (in the range 0.0 to 1.0)- See Also:
getStepPoint()
-
initialise
public XYItemRendererState initialise(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, XYPlot plot, XYDataset data, PlotRenderingInfo info)
Initialises the renderer. Here we calculate the Java2D y-coordinate for zero, since all the bars have their bases fixed at zero.- 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:
- The number of passes required by the renderer.
-
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.
-
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.
-
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.
-
restrictValueToDataArea
protected static double restrictValueToDataArea(double value, XYPlot plot, java.awt.geom.Rectangle2D dataArea)
Helper method which returns a value if it lies inside the visible dataArea and otherwise the corresponding coordinate on the border of the dataArea. The PlotOrientation is taken into account. Useful to avoid possible sun.dc.pr.PRException: endPath: bad path which occurs when trying to draw lines/shapes which in large part lie outside of the visible dataArea.- Parameters:
value
- the value which shall bedataArea
- the area within which the data is being drawn.plot
- the plot (can be used to obtain standard color information etc).- Returns:
double
value inside the data area.
-
-