org.jfree.chart.renderer.xy

Class XYBarRenderer

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

A renderer that draws bars on an XYPlot (requires an IntervalXYDataset).
Nested Class Summary
protected classXYBarRenderer.XYBarRendererState
The state class used by this renderer.
Constructor Summary
XYBarRenderer()
The default constructor.
XYBarRenderer(double margin)
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.
protected voiddrawItemLabel(Graphics2D g2, XYDataset dataset, int series, int item, XYPlot plot, XYItemLabelGenerator generator, Rectangle2D bar, boolean negative)
Draws an item label.
booleanequals(Object obj)
Tests this renderer for equality with an arbitrary object.
RangefindDomainBounds(XYDataset dataset)
Returns the lower and upper bounds (range) of the x-values in the specified dataset.
doublegetBase()
Returns the base value for the bars.
GradientPaintTransformergetGradientPaintTransformer()
Returns the gradient paint transformer (an object used to transform gradient paint objects to fit each bar.
ShapegetLegendBar()
Returns the shape used to represent bars in each legend item.
LegendItemgetLegendItem(int datasetIndex, int series)
Returns a default legend item for the specified series.
doublegetMargin()
Returns the margin which is a percentage amount by which the bars are trimmed.
ItemLabelPositiongetNegativeItemLabelPositionFallback()
Returns the fallback position for negative item labels that don't fit within a bar.
ItemLabelPositiongetPositiveItemLabelPositionFallback()
Returns the fallback position for positive item labels that don't fit within a bar.
booleangetUseYInterval()
Returns a flag that determines whether the y-interval from the dataset is used to calculate the length of each bar.
XYItemRendererStateinitialise(Graphics2D g2, Rectangle2D dataArea, XYPlot plot, XYDataset dataset, PlotRenderingInfo info)
Initialises the renderer and returns a state object that should be passed to all subsequent calls to the drawItem() method.
booleanisDrawBarOutline()
Returns a flag that controls whether or not bar outlines are drawn.
voidsetBase(double base)
Sets the base value for the bars and sends a RendererChangeEvent to all registered listeners.
voidsetDrawBarOutline(boolean draw)
Sets the flag that controls whether or not bar outlines are drawn and sends a RendererChangeEvent to all registered listeners.
voidsetGradientPaintTransformer(GradientPaintTransformer transformer)
Sets the gradient paint transformer and sends a RendererChangeEvent to all registered listeners.
voidsetLegendBar(Shape bar)
Sets the shape used to represent bars in each legend item and sends a RendererChangeEvent to all registered listeners.
voidsetMargin(double margin)
Sets the percentage amount by which the bars are trimmed and sends a RendererChangeEvent to all registered listeners.
voidsetNegativeItemLabelPositionFallback(ItemLabelPosition position)
Sets the fallback position for negative item labels that don't fit within a bar, and sends a RendererChangeEvent to all registered listeners.
voidsetPositiveItemLabelPositionFallback(ItemLabelPosition position)
Sets the fallback position for positive item labels that don't fit within a bar, and sends a RendererChangeEvent to all registered listeners.
voidsetUseYInterval(boolean use)
Sets the flag that determines whether the y-interval from the dataset is used to calculate the length of each bar, and sends a RendererChangeEvent to all registered listeners.

Constructor Detail

XYBarRenderer

public XYBarRenderer()
The default constructor.

XYBarRenderer

public XYBarRenderer(double margin)
Constructs a new renderer.

Parameters: margin the percentage amount to trim from the width of each bar.

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

drawItemLabel

protected void drawItemLabel(Graphics2D g2, XYDataset dataset, int series, int item, XYPlot plot, XYItemLabelGenerator generator, Rectangle2D bar, boolean negative)
Draws an item label. This method is overridden so that the bar can be used to calculate the label anchor point.

Parameters: g2 the graphics device. dataset the dataset. series the series index. item the item index. plot the plot. generator the label generator. bar the bar. negative a flag indicating a negative value.

equals

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

Parameters: obj the object to test against (null permitted).

Returns: A boolean.

findDomainBounds

public Range findDomainBounds(XYDataset dataset)
Returns the lower and upper bounds (range) of the x-values in the specified dataset. Since this renderer uses the x-interval in the dataset, this is taken into account for the range.

Parameters: dataset the dataset (null permitted).

Returns: The range (null if the dataset is null or empty).

getBase

public double getBase()
Returns the base value for the bars.

Returns: The base value for the bars.

See Also: XYBarRenderer

getGradientPaintTransformer

public GradientPaintTransformer getGradientPaintTransformer()
Returns the gradient paint transformer (an object used to transform gradient paint objects to fit each bar.

Returns: A transformer (null possible).

See Also: setGradientPaintTransformer

getLegendBar

public Shape getLegendBar()
Returns the shape used to represent bars in each legend item.

Returns: The shape used to represent bars in each legend item (never null).

See Also: setLegendBar

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.

getMargin

public double getMargin()
Returns the margin which is a percentage amount by which the bars are trimmed.

Returns: The margin.

See Also: XYBarRenderer

getNegativeItemLabelPositionFallback

public ItemLabelPosition getNegativeItemLabelPositionFallback()
Returns the fallback position for negative item labels that don't fit within a bar.

Returns: The fallback position (null possible).

Since: 1.0.2

See Also: setNegativeItemLabelPositionFallback

getPositiveItemLabelPositionFallback

public ItemLabelPosition getPositiveItemLabelPositionFallback()
Returns the fallback position for positive item labels that don't fit within a bar.

Returns: The fallback position (null possible).

Since: 1.0.2

See Also: setPositiveItemLabelPositionFallback

getUseYInterval

public boolean getUseYInterval()
Returns a flag that determines whether the y-interval from the dataset is used to calculate the length of each bar.

Returns: A boolean.

See Also: XYBarRenderer

initialise

public XYItemRendererState initialise(Graphics2D g2, Rectangle2D dataArea, XYPlot plot, XYDataset dataset, PlotRenderingInfo info)
Initialises the renderer and returns a state object that should be passed to all subsequent calls to the drawItem() method. 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. dataset the data. info an optional info collection object to return data back to the caller.

Returns: A state object.

isDrawBarOutline

public boolean isDrawBarOutline()
Returns a flag that controls whether or not bar outlines are drawn.

Returns: A boolean.

See Also: XYBarRenderer

setBase

public void setBase(double base)
Sets the base value for the bars and sends a RendererChangeEvent to all registered listeners. The base value is not used if the dataset's y-interval is being used to determine the bar length.

Parameters: base the new base value.

See Also: getBase getUseYInterval

setDrawBarOutline

public void setDrawBarOutline(boolean draw)
Sets the flag that controls whether or not bar outlines are drawn and sends a RendererChangeEvent to all registered listeners.

Parameters: draw the flag.

See Also: isDrawBarOutline

setGradientPaintTransformer

public void setGradientPaintTransformer(GradientPaintTransformer transformer)
Sets the gradient paint transformer and sends a RendererChangeEvent to all registered listeners.

Parameters: transformer the transformer (null permitted).

See Also: getGradientPaintTransformer

setLegendBar

public void setLegendBar(Shape bar)
Sets the shape used to represent bars in each legend item and sends a RendererChangeEvent to all registered listeners.

Parameters: bar the bar shape (null not permitted).

See Also: getLegendBar

setMargin

public void setMargin(double margin)
Sets the percentage amount by which the bars are trimmed and sends a RendererChangeEvent to all registered listeners.

Parameters: margin the new margin.

See Also: getMargin

setNegativeItemLabelPositionFallback

public void setNegativeItemLabelPositionFallback(ItemLabelPosition position)
Sets the fallback position for negative item labels that don't fit within a bar, and sends a RendererChangeEvent to all registered listeners.

Parameters: position the position (null permitted).

Since: 1.0.2

See Also: getNegativeItemLabelPositionFallback

setPositiveItemLabelPositionFallback

public void setPositiveItemLabelPositionFallback(ItemLabelPosition position)
Sets the fallback position for positive item labels that don't fit within a bar, and sends a RendererChangeEvent to all registered listeners.

Parameters: position the position (null permitted).

Since: 1.0.2

See Also: getPositiveItemLabelPositionFallback

setUseYInterval

public void setUseYInterval(boolean use)
Sets the flag that determines whether the y-interval from the dataset is used to calculate the length of each bar, and sends a RendererChangeEvent to all registered listeners.

Parameters: use the flag.

See Also: getUseYInterval