org.jfree.chart.renderer.xy

Class CandlestickRenderer

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

A renderer that draws candlesticks on an XYPlot (requires a OHLCDataset).

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

Field Summary
static intWIDTHMETHOD_AVERAGE
The average width method.
static intWIDTHMETHOD_INTERVALDATA
The interval data method.
static intWIDTHMETHOD_SMALLEST
The smallest width method.
Constructor Summary
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.
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.
booleandrawVolume()
Returns a flag indicating whether or not volume bars are drawn on the chart.
booleanequals(Object obj)
Tests this renderer for equality with another object.
doublegetAutoWidthFactor()
Returns the factor by which the available space automatically calculated for the candles will be multiplied to determine the actual width to use.
doublegetAutoWidthGap()
Returns the amount of space to leave on the left and right of each candle when automatically calculating widths.
intgetAutoWidthMethod()
Returns the method of automatically calculating the candle width.
doublegetCandleWidth()
Returns the width of each candle.
PaintgetDownPaint()
Returns the paint used to fill candles when the price moves down from open to close.
booleangetDrawVolume()
Returns a flag indicating whether or not volume bars are drawn on the chart.
doublegetMaxCandleWidthInMilliseconds()
Returns the maximum width (in milliseconds) of each candle.
PaintgetUpPaint()
Returns the paint used to fill candles when the price moves up from open to close.
booleangetUseOutlinePaint()
Returns the flag that controls whether or not the renderer's outline paint is used to draw the candlestick outline.
XYItemRendererStateinitialise(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).
voidsetAutoWidthFactor(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.
voidsetAutoWidthGap(double autoWidthGap)
Sets the amount of space to leave on the left and right of each candle when automatically calculating widths.
voidsetAutoWidthMethod(int autoWidthMethod)
Sets the method of automatically calculating the candle width.
voidsetCandleWidth(double width)
Sets the candle width.
voidsetDownPaint(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.
voidsetDrawVolume(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.
voidsetMaxCandleWidthInMilliseconds(double millis)
Sets the maximum candle width (in milliseconds).
voidsetUpPaint(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.
voidsetUseOutlinePaint(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.

Field Detail

WIDTHMETHOD_AVERAGE

public static final int WIDTHMETHOD_AVERAGE
The average width method.

WIDTHMETHOD_INTERVALDATA

public static final int WIDTHMETHOD_INTERVALDATA
The interval data method.

WIDTHMETHOD_SMALLEST

public static final int WIDTHMETHOD_SMALLEST
The smallest width method.

Constructor Detail

CandlestickRenderer

public CandlestickRenderer()
Creates a new renderer for candlestick charts.

CandlestickRenderer

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.

CandlestickRenderer

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.

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

drawVolume

public boolean drawVolume()

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.

equals

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

Parameters: obj the object (null permitted).

Returns: true or false.

getAutoWidthFactor

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

See Also: CandlestickRenderer

getAutoWidthGap

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.

See Also: CandlestickRenderer

getAutoWidthMethod

public int getAutoWidthMethod()
Returns the method of automatically calculating the candle width.

Returns: The method of automatically calculating the candle width.

See Also: CandlestickRenderer

getCandleWidth

public double getCandleWidth()
Returns the width of each candle.

Returns: The candle width.

See Also: CandlestickRenderer

getDownPaint

public Paint getDownPaint()
Returns the paint used to fill candles when the price moves down from open to close.

Returns: The paint (possibly null).

See Also: setDownPaint

getDrawVolume

public boolean getDrawVolume()
Returns a flag indicating whether or not volume bars are drawn on the chart.

Returns: A boolean.

Since: 1.0.5

See Also: CandlestickRenderer

getMaxCandleWidthInMilliseconds

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

Returns: The maximum candle width in milliseconds.

See Also: CandlestickRenderer

getUpPaint

public Paint getUpPaint()
Returns the paint used to fill candles when the price moves up from open to close.

Returns: The paint (possibly null).

See Also: setUpPaint

getUseOutlinePaint

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.

Since: 1.0.5

See Also: CandlestickRenderer

initialise

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.

setAutoWidthFactor

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

See Also: getAutoWidthFactor CandlestickRenderer CandlestickRenderer CandlestickRenderer CandlestickRenderer

setAutoWidthGap

public void setAutoWidthGap(double autoWidthGap)
Sets the amount of space to leave on the left and right of each candle when automatically calculating widths.

Parameters: autoWidthGap The gap.

See Also: getAutoWidthGap CandlestickRenderer CandlestickRenderer CandlestickRenderer CandlestickRenderer

setAutoWidthMethod

public void setAutoWidthMethod(int autoWidthMethod)
Sets the method of automatically calculating the candle width.

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.

See Also: WIDTHMETHOD_AVERAGE WIDTHMETHOD_SMALLEST WIDTHMETHOD_INTERVALDATA getAutoWidthMethod CandlestickRenderer CandlestickRenderer CandlestickRenderer CandlestickRenderer

setCandleWidth

public void setCandleWidth(double width)
Sets the candle width.

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.

See Also: CandlestickRenderer CandlestickRenderer CandlestickRenderer CandlestickRenderer

setDownPaint

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

setDrawVolume

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

setMaxCandleWidthInMilliseconds

public void setMaxCandleWidthInMilliseconds(double millis)
Sets the maximum candle width (in milliseconds).

Parameters: millis The maximum width.

See Also: getMaxCandleWidthInMilliseconds CandlestickRenderer CandlestickRenderer CandlestickRenderer CandlestickRenderer

setUpPaint

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

setUseOutlinePaint

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.

Since: 1.0.5

See Also: getUseOutlinePaint