public class

XYBarRenderer

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.XYBarRenderer
Known Direct Subclasses

Class Overview

A renderer that draws bars on an XYPlot (requires an IntervalXYDataset). The example shown here is generated by the XYBarChartDemo1.java program included in the JFreeChart demo collection:

XYBarRendererSample.png

Summary

Nested Classes
class XYBarRenderer.XYBarRendererState The state class used by this renderer. 
[Expand]
Inherited Fields
From class org.jfree.chart.renderer.AbstractRenderer
Public Constructors
XYBarRenderer()
The default constructor.
XYBarRenderer(double margin)
Constructs 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.
Range findDomainBounds(XYDataset dataset)
Returns the lower and upper bounds (range) of the x-values in the specified dataset.
Range findRangeBounds(XYDataset dataset)
Returns the lower and upper bounds (range) of the y-values in the specified dataset.
double getBarAlignmentFactor()
Returns the bar alignment factor.
XYBarPainter getBarPainter()
Returns the bar painter.
double getBase()
Returns the base value for the bars.
static XYBarPainter getDefaultBarPainter()
Returns the default bar painter.
static boolean getDefaultShadowsVisible()
Returns the default value for the shadowsVisible flag.
GradientPaintTransformer getGradientPaintTransformer()
Returns the gradient paint transformer (an object used to transform gradient paint objects to fit each bar).
Shape getLegendBar()
Returns the shape used to represent bars in each legend item.
LegendItem getLegendItem(int datasetIndex, int series)
Returns a default legend item for the specified series.
double getMargin()
Returns the margin which is a percentage amount by which the bars are trimmed.
ItemLabelPosition getNegativeItemLabelPositionFallback()
Returns the fallback position for negative item labels that don't fit within a bar.
ItemLabelPosition getPositiveItemLabelPositionFallback()
Returns the fallback position for positive item labels that don't fit within a bar.
double getShadowXOffset()
Returns the shadow x-offset.
double getShadowYOffset()
Returns the shadow y-offset.
boolean getShadowsVisible()
Returns the flag that controls whether or not shadows are drawn for the bars.
boolean getUseYInterval()
Returns a flag that determines whether the y-interval from the dataset is used to calculate the length of each bar.
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.
boolean isDrawBarOutline()
Returns a flag that controls whether or not bar outlines are drawn.
void setBarAlignmentFactor(double factor)
Sets the bar alignment factor and sends a RendererChangeEvent to all registered listeners.
void setBarPainter(XYBarPainter painter)
Sets the bar painter and sends a RendererChangeEvent to all registered listeners.
void setBase(double base)
Sets the base value for the bars and sends a RendererChangeEvent to all registered listeners.
static void setDefaultBarPainter(XYBarPainter painter)
Sets the default bar painter.
static void setDefaultShadowsVisible(boolean visible)
Sets the default value for the shadows visible flag.
void setDrawBarOutline(boolean draw)
Sets the flag that controls whether or not bar outlines are drawn and sends a RendererChangeEvent to all registered listeners.
void setGradientPaintTransformer(GradientPaintTransformer transformer)
Sets the gradient paint transformer and sends a RendererChangeEvent to all registered listeners.
void setLegendBar(Shape bar)
Sets the shape used to represent bars in each legend item and sends a RendererChangeEvent to all registered listeners.
void setMargin(double margin)
Sets the percentage amount by which the bars are trimmed and sends a RendererChangeEvent to all registered listeners.
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.
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.
void setShadowVisible(boolean visible)
Sets the flag that controls whether or not the renderer draws shadows for the bars, and sends a RendererChangeEvent to all registered listeners.
void setShadowXOffset(double offset)
Sets the x-offset for the bar shadow and sends a RendererChangeEvent to all registered listeners.
void setShadowYOffset(double offset)
Sets the y-offset for the bar shadow and sends a RendererChangeEvent to all registered listeners.
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.
Protected Methods
void drawItemLabel(Graphics2D g2, XYDataset dataset, int series, int item, XYPlot plot, XYItemLabelGenerator generator, Rectangle2D bar, boolean negative)
Draws an item label.
[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 XYBarRenderer ()

The default constructor.

public XYBarRenderer (double margin)

Constructs a new renderer.

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

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

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.

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

public Range findRangeBounds (XYDataset dataset)

Returns the lower and upper bounds (range) of the y-values in the specified dataset. If the renderer is plotting the y-interval from 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).

public double getBarAlignmentFactor ()

Returns the bar alignment factor.

Returns
  • The bar alignment factor.

public XYBarPainter getBarPainter ()

Returns the bar painter.

Returns
  • The bar painter (never null).

public double getBase ()

Returns the base value for the bars.

Returns
  • The base value for the bars.
See Also

public static XYBarPainter getDefaultBarPainter ()

Returns the default bar painter.

Returns
  • The default bar painter.

public static boolean getDefaultShadowsVisible ()

Returns the default value for the shadowsVisible flag.

Returns
  • A boolean.

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

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

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 double getMargin ()

Returns the margin which is a percentage amount by which the bars are trimmed.

Returns
  • The margin.

public ItemLabelPosition getNegativeItemLabelPositionFallback ()

Returns the fallback position for negative item labels that don't fit within a bar.

Returns
  • The fallback position (null possible).

public ItemLabelPosition getPositiveItemLabelPositionFallback ()

Returns the fallback position for positive item labels that don't fit within a bar.

Returns
  • The fallback position (null possible).

public double getShadowXOffset ()

Returns the shadow x-offset.

Returns
  • The shadow x-offset.

public double getShadowYOffset ()

Returns the shadow y-offset.

Returns
  • The shadow y-offset.

public boolean getShadowsVisible ()

Returns the flag that controls whether or not shadows are drawn for the bars.

Returns
  • A boolean.

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.

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.

public boolean isDrawBarOutline ()

Returns a flag that controls whether or not bar outlines are drawn.

Returns
  • A boolean.

public void setBarAlignmentFactor (double factor)

Sets the bar alignment factor and sends a RendererChangeEvent to all registered listeners. If the alignment factor is outside the range 0.0 to 1.0, no alignment will be performed by the renderer.

Parameters
factor the factor.

public void setBarPainter (XYBarPainter painter)

Sets the bar painter and sends a RendererChangeEvent to all registered listeners.

Parameters
painter the painter (null not permitted).

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.

public static void setDefaultBarPainter (XYBarPainter painter)

Sets the default bar painter.

Parameters
painter the painter (null not permitted).

public static void setDefaultShadowsVisible (boolean visible)

Sets the default value for the shadows visible flag.

Parameters
visible the new value for the default.

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.

public void setGradientPaintTransformer (GradientPaintTransformer transformer)

Sets the gradient paint transformer and sends a RendererChangeEvent to all registered listeners.

Parameters
transformer the transformer (null permitted).

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

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

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

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

public void setShadowVisible (boolean visible)

Sets the flag that controls whether or not the renderer draws shadows for the bars, and sends a RendererChangeEvent to all registered listeners.

Parameters
visible the new flag value.

public void setShadowXOffset (double offset)

Sets the x-offset for the bar shadow and sends a RendererChangeEvent to all registered listeners.

Parameters
offset the offset.

public void setShadowYOffset (double offset)

Sets the y-offset for the bar shadow and sends a RendererChangeEvent to all registered listeners.

Parameters
offset the offset.

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.

Protected Methods

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 provided as an alternative to drawItemLabel(Graphics2D, PlotOrientation, XYDataset, int, int, double, double, boolean) 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 (null permitted, in which case the method does nothing, just returns).
bar the bar.
negative a flag indicating a negative value.