org.jfree.chart.renderer.xy

Class XYDifferenceRenderer

public class XYDifferenceRenderer extends AbstractXYItemRenderer implements XYItemRenderer, PublicCloneable

A renderer for an XYPlot that highlights the differences between two series. The example shown here is generated by the DifferenceChartDemo1.java program included in the JFreeChart demo collection:

XYDifferenceRendererSample.png
Constructor Summary
XYDifferenceRenderer()
Creates a new renderer with default attributes.
XYDifferenceRenderer(Paint positivePaint, Paint negativePaint, boolean shapes)
Creates 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.
protected voiddrawItemPass0(Graphics2D x_graphics, Rectangle2D x_dataArea, PlotRenderingInfo x_info, XYPlot x_plot, ValueAxis x_domainAxis, ValueAxis x_rangeAxis, XYDataset x_dataset, int x_series, int x_item, CrosshairState x_crosshairState)
Draws the visual representation of a single data item, first pass.
protected voiddrawItemPass1(Graphics2D x_graphics, Rectangle2D x_dataArea, PlotRenderingInfo x_info, XYPlot x_plot, ValueAxis x_domainAxis, ValueAxis x_rangeAxis, XYDataset x_dataset, int x_series, int x_item, CrosshairState x_crosshairState)
Draws the visual representation of a single data item, second pass.
booleanequals(Object obj)
Tests this renderer for equality with an arbitrary object.
LegendItemgetLegendItem(int datasetIndex, int series)
Returns a default legend item for the specified series.
ShapegetLegendLine()
Returns the shape used to represent a line in the legend.
PaintgetNegativePaint()
Returns the paint used to highlight negative differences.
intgetPassCount()
Returns 2, the number of passes required by the renderer.
PaintgetPositivePaint()
Returns the paint used to highlight positive differences.
booleangetRoundXCoordinates()
Returns the flag that controls whether or not the x-coordinates (in Java2D space) are rounded to integer values.
booleangetShapesVisible()
Returns a flag that controls whether or not shapes are drawn for each data value.
XYItemRendererStateinitialise(Graphics2D g2, Rectangle2D dataArea, XYPlot plot, XYDataset data, PlotRenderingInfo info)
Initialises the renderer and returns a state object that should be passed to subsequent calls to the drawItem() method.
voidsetLegendLine(Shape line)
Sets the shape used as a line in each legend item and sends a RendererChangeEvent to all registered listeners.
voidsetNegativePaint(Paint paint)
Sets the paint used to highlight negative differences.
voidsetPositivePaint(Paint paint)
Sets the paint used to highlight positive differences and sends a RendererChangeEvent to all registered listeners.
voidsetRoundXCoordinates(boolean round)
Sets the flag that controls whether or not the x-coordinates (in Java2D space) are rounded to integer values, and sends a RendererChangeEvent to all registered listeners.
voidsetShapesVisible(boolean flag)
Sets a flag that controls whether or not shapes are drawn for each data value, and sends a RendererChangeEvent to all registered listeners.

Constructor Detail

XYDifferenceRenderer

public XYDifferenceRenderer()
Creates a new renderer with default attributes.

XYDifferenceRenderer

public XYDifferenceRenderer(Paint positivePaint, Paint negativePaint, boolean shapes)
Creates a new renderer.

Parameters: positivePaint the highlight color for positive differences (null not permitted). negativePaint the highlight color for negative differences (null not permitted). shapes draw shapes?

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 (horizontal) axis. rangeAxis the range (vertical) 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.

drawItemPass0

protected void drawItemPass0(Graphics2D x_graphics, Rectangle2D x_dataArea, PlotRenderingInfo x_info, XYPlot x_plot, ValueAxis x_domainAxis, ValueAxis x_rangeAxis, XYDataset x_dataset, int x_series, int x_item, CrosshairState x_crosshairState)
Draws the visual representation of a single data item, first pass.

Parameters: x_graphics the graphics device. x_dataArea the area within which the data is being drawn. x_info collects information about the drawing. x_plot the plot (can be used to obtain standard color information etc). x_domainAxis the domain (horizontal) axis. x_rangeAxis the range (vertical) axis. x_dataset the dataset. x_series the series index (zero-based). x_item the item index (zero-based). x_crosshairState crosshair information for the plot (null permitted).

drawItemPass1

protected void drawItemPass1(Graphics2D x_graphics, Rectangle2D x_dataArea, PlotRenderingInfo x_info, XYPlot x_plot, ValueAxis x_domainAxis, ValueAxis x_rangeAxis, XYDataset x_dataset, int x_series, int x_item, CrosshairState x_crosshairState)
Draws the visual representation of a single data item, second pass. In the second pass, the renderer draws the lines and shapes for the individual points in the two series.

Parameters: x_graphics the graphics device. x_dataArea the area within which the data is being drawn. x_info collects information about the drawing. x_plot the plot (can be used to obtain standard color information etc). x_domainAxis the domain (horizontal) axis. x_rangeAxis the range (vertical) axis. x_dataset the dataset. x_series the series index (zero-based). x_item the item index (zero-based). x_crosshairState crosshair information for the plot (null permitted).

equals

public boolean equals(Object obj)
Tests this renderer for equality with an arbitrary object.

Parameters: obj the object (null permitted).

Returns: A boolean.

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.

Parameters: datasetIndex the dataset index (zero-based). series the series index (zero-based).

Returns: A legend item for the series.

getLegendLine

public Shape getLegendLine()
Returns the shape used to represent a line in the legend.

Returns: The legend line (never null).

See Also: setLegendLine

getNegativePaint

public Paint getNegativePaint()
Returns the paint used to highlight negative differences.

Returns: The paint (never null).

See Also: setNegativePaint

getPassCount

public int getPassCount()
Returns 2, the number of passes required by the renderer. The XYPlot will run through the dataset this number of times.

Returns: The number of passes required by the renderer.

getPositivePaint

public Paint getPositivePaint()
Returns the paint used to highlight positive differences.

Returns: The paint (never null).

See Also: setPositivePaint

getRoundXCoordinates

public boolean getRoundXCoordinates()
Returns the flag that controls whether or not the x-coordinates (in Java2D space) are rounded to integer values.

Returns: The flag.

Since: 1.0.4

See Also: XYDifferenceRenderer

getShapesVisible

public boolean getShapesVisible()
Returns a flag that controls whether or not shapes are drawn for each data value.

Returns: A boolean.

See Also: XYDifferenceRenderer

initialise

public XYItemRendererState initialise(Graphics2D g2, Rectangle2D dataArea, XYPlot plot, XYDataset data, PlotRenderingInfo info)
Initialises the renderer and returns a state object that should be passed to subsequent calls to the drawItem() method. This method will be called before the first item is rendered, giving the renderer an opportunity to initialise any state information it wants to maintain. The renderer can do nothing if it chooses.

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.

setLegendLine

public void setLegendLine(Shape line)
Sets the shape used as a line in each legend item and sends a RendererChangeEvent to all registered listeners.

Parameters: line the line (null not permitted).

See Also: getLegendLine

setNegativePaint

public void setNegativePaint(Paint paint)
Sets the paint used to highlight negative differences.

Parameters: paint the paint (null not permitted).

See Also: getNegativePaint

setPositivePaint

public void setPositivePaint(Paint paint)
Sets the paint used to highlight positive differences and sends a RendererChangeEvent to all registered listeners.

Parameters: paint the paint (null not permitted).

See Also: getPositivePaint

setRoundXCoordinates

public void setRoundXCoordinates(boolean round)
Sets the flag that controls whether or not the x-coordinates (in Java2D space) are rounded to integer values, and sends a RendererChangeEvent to all registered listeners.

Parameters: round the new flag value.

Since: 1.0.4

See Also: getRoundXCoordinates

setShapesVisible

public void setShapesVisible(boolean flag)
Sets a flag that controls whether or not shapes are drawn for each data value, 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.