org.jfree.chart.renderer.xy

Class XYStepAreaRenderer

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. The example shown here is generated by the XYStepAreaRendererDemo1.java program included in the JFreeChart demo collection:

XYStepAreaRendererSample.png
Field Summary
static intAREA
Useful constant for specifying the type of rendering (area only).
static intAREA_AND_SHAPES
Useful constant for specifying the type of rendering (area and shapes).
protected PolygonpArea
Area of the complete series
static intSHAPES
Useful constant for specifying the type of rendering (shapes only).
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
Objectclone()
Returns a clone of the renderer.
voiddrawItem(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.
booleanequals(Object obj)
Tests this renderer for equality with an arbitrary object.
booleangetPlotArea()
Returns true if Area is being plotted by the renderer.
doublegetRangeBase()
Returns the value on the range axis which defines the 'lower' border of the area.
booleangetShapesVisible()
Returns true if shapes are being plotted by the renderer.
XYItemRendererStateinitialise(Graphics2D g2, Rectangle2D dataArea, XYPlot plot, XYDataset data, PlotRenderingInfo info)
Initialises the renderer.
booleanisOutline()
Returns a flag that controls whether or not outlines of the areas are drawn.
booleanisShapesFilled()
Returns the flag that controls whether or not the shapes are filled.
protected static doublerestrictValueToDataArea(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.
voidsetOutline(boolean show)
Sets a flag that controls whether or not outlines of the areas are drawn, and sends a RendererChangeEvent to all registered listeners.
voidsetPlotArea(boolean flag)
Sets a flag that controls whether or not areas are drawn for each data item and sends a RendererChangeEvent to all registered listeners.
voidsetRangeBase(double val)
Sets the value on the range axis which defines the default border of the area, and sends a RendererChangeEvent to all registered listeners.
voidsetShapesFilled(boolean filled)
Sets the 'shapes filled' for ALL series and sends a RendererChangeEvent to all registered listeners.
voidsetShapesVisible(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.

Field Detail

AREA

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

AREA_AND_SHAPES

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

pArea

protected transient Polygon pArea
Area of the complete series

SHAPES

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

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

clone

public Object clone()
Returns a clone of the renderer.

Returns: A clone.

Throws: CloneNotSupportedException if the renderer cannot be cloned.

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.

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.

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.

See Also: XYStepAreaRenderer

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: XYStepAreaRenderer

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: XYStepAreaRenderer

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.

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.

See Also: XYStepAreaRenderer

isShapesFilled

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

Returns: A boolean.

See Also: XYStepAreaRenderer

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 dataArea 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.

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 and sends a RendererChangeEvent to all registered listeners.

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, and sends a RendererChangeEvent 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

setShapesFilled

public void setShapesFilled(boolean filled)
Sets the 'shapes filled' for ALL series and sends a RendererChangeEvent to all registered listeners.

Parameters: filled the flag.

See Also: isShapesFilled

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.

See Also: getShapesVisible

Copyright © 2000-2009 by Object Refinery Limited. All Rights Reserved.