public class

CandlestickRenderer

extends AbstractXYItemRenderer
implements Serializable Cloneable XYItemRenderer
java.lang.Object
   ↳ org.jfree.chart.renderer.AbstractRenderer
     ↳ org.jfree.chart.renderer.xy.AbstractXYItemRenderer
       ↳ org.jfree.chart.renderer.xy.CandlestickRenderer

Class Overview

A renderer that draws candlesticks on an XYPlot (requires a OHLCDataset). The example shown here is generated by the CandlestickChartDemo1.java program included in the JFreeChart demo collection:

CandlestickRendererSample.png

This renderer does not include code to calculate the crosshair point for the plot.

Summary

Constants
int WIDTHMETHOD_AVERAGE The average width method.
int WIDTHMETHOD_INTERVALDATA The interval data method.
int WIDTHMETHOD_SMALLEST The smallest width method.
[Expand]
Inherited Fields
From class org.jfree.chart.renderer.AbstractRenderer
Public Constructors
CandlestickRenderer()
Creates a new renderer for candlestick charts.
CandlestickRenderer(double candleWidth)
Creates a new renderer for candlestick charts.
CandlestickRenderer(double candleWidth, boolean drawVolume, XYToolTipGenerator toolTipGenerator)
Creates a new renderer for candlestick charts.
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 drawVolume()
This method is deprecated. As of 1.0.5, you should use the getDrawVolume() method.
boolean equals(Object obj)
Tests this renderer for equality with another object.
Range findRangeBounds(XYDataset dataset)
Returns the range of values the renderer requires to display all the items from the specified dataset.
double getAutoWidthFactor()
Returns the factor by which the available space automatically calculated for the candles will be multiplied to determine the actual width to use.
double getAutoWidthGap()
Returns the amount of space to leave on the left and right of each candle when automatically calculating widths.
int getAutoWidthMethod()
Returns the method of automatically calculating the candle width.
double getCandleWidth()
Returns the width of each candle.
Paint getDownPaint()
Returns the paint used to fill candles when the price moves down from open to close.
boolean getDrawVolume()
Returns a flag indicating whether or not volume bars are drawn on the chart.
double getMaxCandleWidthInMilliseconds()
Returns the maximum width (in milliseconds) of each candle.
Paint getUpPaint()
Returns the paint used to fill candles when the price moves up from open to close.
boolean getUseOutlinePaint()
Returns the flag that controls whether or not the renderer's outline paint is used to draw the candlestick outline.
Paint getVolumePaint()
Returns the paint that is used to fill the volume bars if they are visible.
XYItemRendererState initialise(Graphics2D g2, Rectangle2D dataArea, XYPlot plot, XYDataset dataset, PlotRenderingInfo info)
Initialises the renderer then returns the number of 'passes' through the data that the renderer will require (usually just one).
void setAutoWidthFactor(double autoWidthFactor)
Sets the factor by which the available space automatically calculated for the candles will be multiplied to determine the actual width to use.
void setAutoWidthGap(double autoWidthGap)
Sets the amount of space to leave on the left and right of each candle when automatically calculating widths and sends a RendererChangeEvent to all registered listeners.
void setAutoWidthMethod(int autoWidthMethod)
Sets the method of automatically calculating the candle width and sends a RendererChangeEvent to all registered listeners.
void setCandleWidth(double width)
Sets the candle width and sends a RendererChangeEvent to all registered listeners.
void setDownPaint(Paint paint)
Sets the paint used to fill candles when the price moves down from open to close and sends a RendererChangeEvent to all registered listeners.
void setDrawVolume(boolean flag)
Sets a flag that controls whether or not volume bars are drawn in the background and sends a RendererChangeEvent to all registered listeners.
void setMaxCandleWidthInMilliseconds(double millis)
Sets the maximum candle width (in milliseconds) and sends a RendererChangeEvent to all registered listeners.
void setUpPaint(Paint paint)
Sets the paint used to fill candles when the price moves up from open to close and sends a RendererChangeEvent to all registered listeners.
void setUseOutlinePaint(boolean use)
Sets the flag that controls whether or not the renderer's outline paint is used to draw the candlestick outline, and sends a RendererChangeEvent to all registered listeners.
void setVolumePaint(Paint paint)
Sets the paint used to fill the volume bars, and sends a RendererChangeEvent to all registered listeners.
[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

Constants

public static final int WIDTHMETHOD_AVERAGE

The average width method.

Constant Value: 0 (0x00000000)

public static final int WIDTHMETHOD_INTERVALDATA

The interval data method.

Constant Value: 2 (0x00000002)

public static final int WIDTHMETHOD_SMALLEST

The smallest width method.

Constant Value: 1 (0x00000001)

Public Constructors

public CandlestickRenderer ()

Creates a new renderer for candlestick charts.

public CandlestickRenderer (double candleWidth)

Creates a new renderer for candlestick charts.

Use -1 for the candle width if you prefer the width to be calculated automatically.

Parameters
candleWidth The candle width.

public CandlestickRenderer (double candleWidth, boolean drawVolume, XYToolTipGenerator toolTipGenerator)

Creates a new renderer for candlestick charts.

Use -1 for the candle width if you prefer the width to be calculated automatically.

Parameters
candleWidth the candle width.
drawVolume a flag indicating whether or not volume bars should be drawn.
toolTipGenerator the tool tip generator. null is none.

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 plot is being drawn.
info collects info 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.

public boolean drawVolume ()

This method is deprecated.
As of 1.0.5, you should use the getDrawVolume() method.

Returns a flag indicating whether or not volume bars are drawn on the chart.

Returns
  • true if volume bars are drawn on the chart.

public boolean equals (Object obj)

Tests this renderer for equality with another object.

Parameters
obj the object (null permitted).
Returns
  • true or false.

public Range findRangeBounds (XYDataset dataset)

Returns the range of values the renderer requires to display all the items from the specified dataset.

Parameters
dataset the dataset (null permitted).
Returns
  • The range (null if the dataset is null or empty).

public double getAutoWidthFactor ()

Returns the factor by which the available space automatically calculated for the candles will be multiplied to determine the actual width to use.

Returns
  • The width factor (generally between 0.0 and 1.0).

public double getAutoWidthGap ()

Returns the amount of space to leave on the left and right of each candle when automatically calculating widths.

Returns
  • The gap.

public int getAutoWidthMethod ()

Returns the method of automatically calculating the candle width.

Returns
  • The method of automatically calculating the candle width.

public double getCandleWidth ()

Returns the width of each candle.

Returns
  • The candle width.

public Paint getDownPaint ()

Returns the paint used to fill candles when the price moves down from open to close.

Returns
  • The paint (possibly null).

public boolean getDrawVolume ()

Returns a flag indicating whether or not volume bars are drawn on the chart.

Returns
  • A boolean.

public double getMaxCandleWidthInMilliseconds ()

Returns the maximum width (in milliseconds) of each candle.

Returns
  • The maximum candle width in milliseconds.

public Paint getUpPaint ()

Returns the paint used to fill candles when the price moves up from open to close.

Returns
  • The paint (possibly null).

public boolean getUseOutlinePaint ()

Returns the flag that controls whether or not the renderer's outline paint is used to draw the candlestick outline. The default value is false.

Returns
  • A boolean.

public Paint getVolumePaint ()

Returns the paint that is used to fill the volume bars if they are visible.

Returns
  • The paint (never null).

public XYItemRendererState initialise (Graphics2D g2, Rectangle2D dataArea, XYPlot plot, XYDataset dataset, PlotRenderingInfo info)

Initialises the renderer then returns the number of 'passes' through the data that the renderer will require (usually just one). 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.
dataset the data.
info an optional info collection object to return data back to the caller.
Returns
  • The number of passes the renderer requires.

public void setAutoWidthFactor (double autoWidthFactor)

Sets the factor by which the available space automatically calculated for the candles will be multiplied to determine the actual width to use.

Parameters
autoWidthFactor The width factor (generally between 0.0 and 1.0).

public void setAutoWidthGap (double autoWidthGap)

Sets the amount of space to leave on the left and right of each candle when automatically calculating widths and sends a RendererChangeEvent to all registered listeners.

Parameters
autoWidthGap The gap.

public void setAutoWidthMethod (int autoWidthMethod)

Sets the method of automatically calculating the candle width and sends a RendererChangeEvent to all registered listeners.

WIDTHMETHOD_AVERAGE: Divides the entire display (ignoring scale factor) by the number of items, and uses this as the available width.
WIDTHMETHOD_SMALLEST: Checks the interval between each item, and uses the smallest as the available width.
WIDTHMETHOD_INTERVALDATA: Assumes that the dataset supports the IntervalXYDataset interface, and uses the startXValue - endXValue as the available width.

Parameters
autoWidthMethod The method of automatically calculating the candle width.

public void setCandleWidth (double width)

Sets the candle width and sends a RendererChangeEvent to all registered listeners.

If you set the width to a negative value, the renderer will calculate the candle width automatically based on the space available on the chart.

Parameters
width The width.

public void setDownPaint (Paint paint)

Sets the paint used to fill candles when the price moves down from open to close and sends a RendererChangeEvent to all registered listeners.

Parameters
paint The paint (null permitted).

public void setDrawVolume (boolean flag)

Sets a flag that controls whether or not volume bars are drawn in the background and sends a RendererChangeEvent to all registered listeners.

Parameters
flag the flag.
See Also

public void setMaxCandleWidthInMilliseconds (double millis)

Sets the maximum candle width (in milliseconds) and sends a RendererChangeEvent to all registered listeners.

Parameters
millis The maximum width.

public void setUpPaint (Paint paint)

Sets the paint used to fill candles when the price moves up from open to close and sends a RendererChangeEvent to all registered listeners.

Parameters
paint the paint (null permitted).
See Also

public void setUseOutlinePaint (boolean use)

Sets the flag that controls whether or not the renderer's outline paint is used to draw the candlestick outline, and sends a RendererChangeEvent to all registered listeners.

Parameters
use the new flag value.

public void setVolumePaint (Paint paint)

Sets the paint used to fill the volume bars, and sends a RendererChangeEvent to all registered listeners.

Parameters
paint the paint (null not permitted).