public class

XYDifferenceRenderer

extends AbstractXYItemRenderer
implements XYItemRenderer
java.lang.Object
   ↳ org.jfree.chart.renderer.AbstractRenderer
     ↳ org.jfree.chart.renderer.xy.AbstractXYItemRenderer
       ↳ org.jfree.chart.renderer.xy.XYDifferenceRenderer

Class Overview

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

Summary

[Expand]
Inherited Fields
From class org.jfree.chart.renderer.AbstractRenderer
Public Constructors
XYDifferenceRenderer()
Creates a new renderer with default attributes.
XYDifferenceRenderer(Paint positivePaint, Paint negativePaint, boolean shapes)
Creates a new renderer.
Public Methods
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.
LegendItem getLegendItem(int datasetIndex, int series)
Returns a default legend item for the specified series.
Shape getLegendLine()
Returns the shape used to represent a line in the legend.
Paint getNegativePaint()
Returns the paint used to highlight negative differences.
int getPassCount()
Returns 2, the number of passes required by the renderer.
Paint getPositivePaint()
Returns the paint used to highlight positive differences.
boolean getRoundXCoordinates()
Returns the flag that controls whether or not the x-coordinates (in Java2D space) are rounded to integer values.
boolean getShapesVisible()
Returns a flag that controls whether or not shapes are drawn for each data value.
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.
void setLegendLine(Shape line)
Sets the shape used as a line in each legend item and sends a RendererChangeEvent to all registered listeners.
void setNegativePaint(Paint paint)
Sets the paint used to highlight negative differences.
void setPositivePaint(Paint paint)
Sets the paint used to highlight positive differences and sends a RendererChangeEvent to all registered listeners.
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.
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.
Protected Methods
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.
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.
[Expand]
Inherited Methods
From class org.jfree.chart.renderer.xy.AbstractXYItemRenderer
From class org.jfree.chart.renderer.AbstractRenderer
From class java.lang.Object
From interface org.jfree.chart.LegendItemSource
From interface org.jfree.chart.renderer.xy.XYItemRenderer

Public Constructors

public XYDifferenceRenderer ()

Creates a new renderer with default attributes.

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?

Public Methods

public Object clone ()

Returns a clone of the renderer.

Returns
  • A clone.
Throws
CloneNotSupportedException if the renderer cannot be cloned.

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.

public boolean equals (Object obj)

Tests this renderer for equality with an arbitrary object.

Parameters
obj the object (null permitted).
Returns
  • A boolean.

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.

public Shape getLegendLine ()

Returns the shape used to represent a line in the legend.

Returns
  • The legend line (never null).

public Paint getNegativePaint ()

Returns the paint used to highlight negative differences.

Returns
  • The paint (never null).

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.

public Paint getPositivePaint ()

Returns the paint used to highlight positive differences.

Returns
  • The paint (never null).

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.

public boolean getShapesVisible ()

Returns a flag that controls whether or not shapes are drawn for each data value.

Returns
  • A boolean.

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.

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

public void setNegativePaint (Paint paint)

Sets the paint used to highlight negative differences.

Parameters
paint the paint (null not permitted).

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

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.

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.

Protected Methods

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

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