org.jfree.chart.renderer.xy

Class XYStepAreaRenderer

Implemented Interfaces:
Cloneable, LegendItemSource, PublicCloneable, Serializable, XYItemRenderer

public class XYStepAreaRenderer
extends AbstractXYItemRenderer
implements XYItemRenderer, Cloneable, PublicCloneable, Serializable

A step chart renderer that fills the area between the step and the x-axis.

Field Summary

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).
static int
SHAPES
Useful constant for specifying the type of rendering (shapes only).
protected Polygon
pArea
Area of the complete series

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

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

Object
clone()
Returns a clone of the renderer.
void
drawItem(Graphics2D g2, XYItemRendererState state, 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(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.
XYItemRendererState
initialise(Graphics2D g2, 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, 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 a RendererChangeEvent to all registered listeners.
void
setPlotArea(boolean flag)
Sets a flag that controls whether or not areas are drawn for each data item.
void
setRangeBase(double val)
Sets the value on the range axis which defines the default border of the area.
void
setShapesFilled(boolean filled)
Sets the 'shapes filled' for ALL series.
void
setShapesVisible(boolean flag)
Sets the flag that controls whether or not shapes are displayed for each data item, and sends a RendererChangeEvent to all registered listeners.

Methods inherited from class org.jfree.chart.renderer.xy.AbstractXYItemRenderer

addAnnotation, addAnnotation, addEntity, calculateDomainMarkerTextAnchorPoint, clone, drawAnnotations, drawDomainGridLine, drawDomainLine, drawDomainMarker, drawItemLabel, drawRangeLine, drawRangeMarker, equals, fillDomainGridBand, fillRangeGridBand, findDomainBounds, findRangeBounds, getBaseItemLabelGenerator, getBaseToolTipGenerator, getDefaultEntityRadius, getDrawingSupplier, getItemLabelGenerator, getItemLabelGenerator, getLegendItem, getLegendItemLabelGenerator, getLegendItemToolTipGenerator, getLegendItemURLGenerator, getLegendItems, getPassCount, getPlot, getSeriesItemLabelGenerator, getSeriesToolTipGenerator, getToolTipGenerator, getToolTipGenerator, getURLGenerator, initialise, removeAnnotation, removeAnnotations, setBaseItemLabelGenerator, setBaseToolTipGenerator, setDefaultEntityRadius, setItemLabelGenerator, setLegendItemLabelGenerator, setLegendItemToolTipGenerator, setLegendItemURLGenerator, setPlot, setSeriesItemLabelGenerator, setSeriesToolTipGenerator, setToolTipGenerator, setURLGenerator, updateCrosshairValues, updateCrosshairValues

Methods inherited from class org.jfree.chart.renderer.AbstractRenderer

addChangeListener, calculateLabelAnchorPoint, clone, equals, fireChangeEvent, getBaseCreateEntities, getBaseFillPaint, getBaseItemLabelFont, getBaseItemLabelPaint, getBaseItemLabelsVisible, getBaseNegativeItemLabelPosition, getBaseOutlinePaint, getBaseOutlineStroke, getBasePaint, getBasePositiveItemLabelPosition, getBaseSeriesVisible, getBaseSeriesVisibleInLegend, getBaseShape, getBaseStroke, getCreateEntities, getDrawingSupplier, getItemCreateEntity, getItemFillPaint, getItemLabelAnchorOffset, getItemLabelFont, getItemLabelFont, getItemLabelPaint, getItemLabelPaint, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getItemVisible, getNegativeItemLabelPosition, getNegativeItemLabelPosition, getPositiveItemLabelPosition, getPositiveItemLabelPosition, getSeriesCreateEntities, getSeriesFillPaint, getSeriesItemLabelFont, getSeriesItemLabelPaint, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, getSeriesVisible, getSeriesVisible, getSeriesVisibleInLegend, getSeriesVisibleInLegend, hasListener, hashCode, isItemLabelVisible, isSeriesItemLabelsVisible, isSeriesVisible, isSeriesVisibleInLegend, notifyListeners, removeChangeListener, setBaseCreateEntities, setBaseCreateEntities, setBaseFillPaint, setBaseFillPaint, setBaseItemLabelFont, setBaseItemLabelFont, setBaseItemLabelPaint, setBaseItemLabelPaint, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseNegativeItemLabelPosition, setBaseNegativeItemLabelPosition, setBaseOutlinePaint, setBaseOutlinePaint, setBaseOutlineStroke, setBaseOutlineStroke, setBasePaint, setBasePaint, setBasePositiveItemLabelPosition, setBasePositiveItemLabelPosition, setBaseSeriesVisible, setBaseSeriesVisible, setBaseSeriesVisibleInLegend, setBaseSeriesVisibleInLegend, setBaseShape, setBaseShape, setBaseStroke, setBaseStroke, setCreateEntities, setCreateEntities, setFillPaint, setFillPaint, setItemLabelAnchorOffset, setItemLabelFont, setItemLabelFont, setItemLabelPaint, setItemLabelPaint, setItemLabelsVisible, setItemLabelsVisible, setItemLabelsVisible, 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

Field Details

AREA

public static final int AREA
Useful constant for specifying the type of rendering (area only).
Field Value:
2

AREA_AND_SHAPES

public static final int AREA_AND_SHAPES
Useful constant for specifying the type of rendering (area and shapes).
Field Value:
3

SHAPES

public static final int SHAPES
Useful constant for specifying the type of rendering (shapes only).
Field Value:
1

pArea

protected Polygon pArea
Area of the complete series

Constructor Details

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 Details

clone

public Object clone()
            throws CloneNotSupportedException
Returns a clone of the renderer.
Overrides:
clone in interface AbstractXYItemRenderer
Returns:
A clone.

drawItem

public void drawItem(Graphics2D g2,
                     XYItemRendererState state,
                     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
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(Object obj)
Tests this renderer for equality with an arbitrary object.
Overrides:
equals in interface AbstractXYItemRenderer
Parameters:
obj - the object (null permitted).
Returns:
A boolean.

getPlotArea

public boolean getPlotArea()
Returns true if Area is being plotted by the renderer.
Returns:
true if Area is being plotted by the renderer.

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.

getShapesVisible

public boolean getShapesVisible()
Returns true if shapes are being plotted by the renderer.
Returns:
true if shapes are being plotted by the renderer.

initialise

public XYItemRendererState initialise(Graphics2D g2,
                                      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 interface XYItemRenderer
Overrides:
initialise in interface AbstractXYItemRenderer
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.

isOutline

public boolean isOutline()
Returns a flag that controls whether or not outlines of the areas are drawn.
Returns:
The flag.

isShapesFilled

public boolean isShapesFilled()
Returns the flag that controls whether or not the shapes are filled.
Returns:
A boolean.

restrictValueToDataArea

protected static double restrictValueToDataArea(double value,
                                                XYPlot plot,
                                                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 be
plot - the plot (can be used to obtain standard color information etc).
dataArea - the area within which the data is being drawn.
Returns:
double value inside the data area.

setOutline

public void setOutline(boolean show)
Sets a flag that controls whether or not outlines of the areas are drawn, and sends a RendererChangeEvent to all registered listeners.
Parameters:
show - the flag.
See Also:
isOutline()

setPlotArea

public void setPlotArea(boolean flag)
Sets a flag that controls whether or not areas are drawn for each data item.
Parameters:
flag - the flag.
See Also:
getPlotArea()

setRangeBase

public void setRangeBase(double val)
Sets the value on the range axis which defines the default border of the area. 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.

setShapesFilled

public void setShapesFilled(boolean filled)
Sets the 'shapes filled' for ALL series.
Parameters:
filled - the flag.

setShapesVisible

public void setShapesVisible(boolean flag)
Sets the flag that controls whether or not shapes are displayed for each data item, and sends a RendererChangeEvent to all registered listeners.
Parameters:
flag - the flag.