Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
org.jfree.chart.renderer.AbstractRenderer
org.jfree.chart.renderer.category.AbstractCategoryItemRenderer
org.jfree.chart.renderer.category.BarRenderer
public class BarRenderer
extends AbstractCategoryItemRenderer
implements Cloneable, PublicCloneable, Serializable
CategoryItemRenderer
that draws individual data items as bars.
Field Summary | |
static double |
|
static double |
|
Fields inherited from class org.jfree.chart.renderer.AbstractRenderer | |
DEFAULT_OUTLINE_PAINT , DEFAULT_OUTLINE_STROKE , DEFAULT_PAINT , DEFAULT_SHAPE , DEFAULT_STROKE , DEFAULT_VALUE_LABEL_FONT , DEFAULT_VALUE_LABEL_PAINT , ZERO |
Constructor Summary | |
|
Method Summary | |
protected double[] |
|
protected double |
|
protected void |
|
protected double |
|
void |
|
protected void |
|
boolean |
|
Range |
|
double |
|
GradientPaintTransformer |
|
boolean |
|
double |
|
LegendItem |
|
double |
|
double |
|
double |
|
ItemLabelPosition |
|
ItemLabelPosition |
|
double |
|
CategoryItemRendererState |
|
boolean |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
public static final double BAR_OUTLINE_WIDTH_THRESHOLD
Constant that controls the minimum width before a bar has an outline drawn.
- Field Value:
- 3.0
public static final double DEFAULT_ITEM_MARGIN
The default item margin percentage.
- Field Value:
- 0.0
protected double[] calculateBarL0L1(double value)
Calculates the coordinates for the length of a single bar.
- Parameters:
value
- the value represented by the bar.
- Returns:
- The coordinates for each end of the bar (or
null
if the bar is not visible for the current axis range).
protected double calculateBarW0(CategoryPlot plot, PlotOrientation orientation, Rectangle2D dataArea, CategoryAxis domainAxis, CategoryItemRendererState state, int row, int column)
Calculates the coordinate of the first "side" of a bar. This will be the minimum x-coordinate for a vertical bar, and the minimum y-coordinate for a horizontal bar.
- Parameters:
plot
- the plot.orientation
- the plot orientation.dataArea
- the data area.domainAxis
- the domain axis.state
- the renderer state (has the bar width precalculated).row
- the row index.column
- the column index.
- Returns:
- The coordinate.
protected void calculateBarWidth(CategoryPlot plot, Rectangle2D dataArea, int rendererIndex, CategoryItemRendererState state)
Calculates the bar width and stores it in the renderer state.
- Parameters:
plot
- the plot.dataArea
- the data area.rendererIndex
- the renderer index.state
- the renderer state.
protected double calculateSeriesWidth(double space, CategoryAxis axis, int categories, int series)
Calculates the available space for each series.
- Parameters:
space
- the space along the entire axis (in Java2D units).axis
- the category axis.categories
- the number of categories.series
- the number of series.
- Returns:
- The width of one series.
public void drawItem(Graphics2D g2, CategoryItemRendererState state, Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset, int row, int column, int pass)
Draws the bar for a single (series, category) data item.
- Specified by:
- drawItem in interface CategoryItemRenderer
- Parameters:
g2
- the graphics device.state
- the renderer state.dataArea
- the data area.plot
- the plot.domainAxis
- the domain axis.rangeAxis
- the range axis.dataset
- the dataset.row
- the row index (zero-based).column
- the column index (zero-based).pass
- the pass index.
protected void drawItemLabel(Graphics2D g2, CategoryDataset data, int row, int column, CategoryPlot plot, CategoryItemLabelGenerator 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.data
- the dataset.row
- the row.column
- the column.plot
- the plot.generator
- the label generator.bar
- the bar.negative
- a flag indicating a negative value.
public boolean equals(Object obj)
Tests this instance for equality with an arbitrary object.
- Overrides:
- equals in interface AbstractCategoryItemRenderer
- Parameters:
obj
- the object (null
permitted).
- Returns:
- A boolean.
public Range findRangeBounds(CategoryDataset dataset)
Returns the range of values the renderer requires to display all the items from the specified dataset. This takes into account the range of values in the dataset, plus the flag that determines whether or not the base value for the bars should be included in the range.
- Specified by:
- findRangeBounds in interface CategoryItemRenderer
- Overrides:
- findRangeBounds in interface AbstractCategoryItemRenderer
- Parameters:
dataset
- the dataset (null
permitted).
- Returns:
- The range (or
null
if the dataset isnull
or empty).
public double getBase()
Returns the base value for the bars. The default value is0.0
.
- Returns:
- The base value for the bars.
- See Also:
setBase(double)
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 boolean getIncludeBaseInRange()
Returns the flag that controls whether or not the base value for the bars is included in the range calculated byfindRangeBounds(CategoryDataset)
.
- Returns:
true
if the base is included in the range, andfalse
otherwise.
- Since:
- 1.0.1
- See Also:
setIncludeBaseInRange(boolean)
public double getItemMargin()
Returns the item margin as a percentage of the available space for all bars.
- Returns:
- The margin percentage (where 0.10 is ten percent).
- See Also:
setItemMargin(double)
public LegendItem getLegendItem(int datasetIndex, int series)
Returns a legend item for a series.
- Specified by:
- getLegendItem in interface CategoryItemRenderer
- Overrides:
- getLegendItem in interface AbstractCategoryItemRenderer
- Parameters:
datasetIndex
- the dataset index (zero-based).series
- the series index (zero-based).
- Returns:
- The legend item.
public double getLowerClip()
Returns the lower clip value. This value is recalculated in the initialise() method.
- Returns:
- The value.
public double getMaximumBarWidth()
Returns the maximum bar width, as a percentage of the available drawing space.
- Returns:
- The maximum bar width.
- See Also:
setMaximumBarWidth(double)
public double getMinimumBarLength()
Returns the minimum bar length (in Java2D units).
- Returns:
- The minimum bar length.
- See Also:
setMinimumBarLength(double)
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 getUpperClip()
Returns the upper clip value. This value is recalculated in the initialise() method.
- Returns:
- The value.
public CategoryItemRendererState initialise(Graphics2D g2, Rectangle2D dataArea, CategoryPlot plot, int rendererIndex, PlotRenderingInfo info)
Initialises the renderer and returns a state object that will be passed to subsequent calls to the drawItem method. This method gets called once at the start of the process of drawing a chart.
- Specified by:
- initialise in interface CategoryItemRenderer
- Overrides:
- initialise in interface AbstractCategoryItemRenderer
- Parameters:
g2
- the graphics device.dataArea
- the area in which the data is to be plotted.plot
- the plot.rendererIndex
- the renderer index.info
- collects chart rendering information for return to caller.
- Returns:
- The renderer state.
public boolean isDrawBarOutline()
Returns a flag that controls whether or not bar outlines are drawn.
- Returns:
- A boolean.
- See Also:
setDrawBarOutline(boolean)
public void setBase(double base)
Sets the base value for the bars and sends aRendererChangeEvent
to all registered listeners.
- Parameters:
base
- the new base value.
- See Also:
getBase()
public void setDrawBarOutline(boolean draw)
Sets the flag that controls whether or not bar outlines are drawn and sends aRendererChangeEvent
to all registered listeners.
- Parameters:
draw
- the flag.
- See Also:
isDrawBarOutline()
public void setGradientPaintTransformer(GradientPaintTransformer transformer)
Sets the gradient paint transformer and sends aRendererChangeEvent
to all registered listeners.
- Parameters:
transformer
- the transformer (null
permitted).
- See Also:
getGradientPaintTransformer()
public void setIncludeBaseInRange(boolean include)
Sets the flag that controls whether or not the base value for the bars is included in the range calculated byfindRangeBounds(CategoryDataset)
. If the flag is changed, aRendererChangeEvent
is sent to all registered listeners.
- Parameters:
include
- the new value for the flag.
- Since:
- 1.0.1
- See Also:
getIncludeBaseInRange()
public void setItemMargin(double percent)
Sets the item margin and sends aRendererChangeEvent
to all registered listeners. The value is expressed as a percentage of the available width for plotting all the bars, with the resulting amount to be distributed between all the bars evenly.
- Parameters:
percent
- the margin (where 0.10 is ten percent).
- See Also:
getItemMargin()
public void setMaximumBarWidth(double percent)
Sets the maximum bar width, which is specified as a percentage of the available space for all bars, and sends aRendererChangeEvent
to all registered listeners.
- Parameters:
percent
- the percent (where 0.05 is five percent).
- See Also:
getMaximumBarWidth()
public void setMinimumBarLength(double min)
Sets the minimum bar length and sends aRendererChangeEvent
to all registered listeners. The minimum bar length is specified in Java2D units, and can be used to prevent bars that represent very small data values from disappearing when drawn on the screen.
- Parameters:
min
- the minimum bar length (in Java2D units).
- See Also:
getMinimumBarLength()
public void setNegativeItemLabelPositionFallback(ItemLabelPosition position)
Sets the fallback position for negative item labels that don't fit within a bar, and sends aRendererChangeEvent
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 aRendererChangeEvent
to all registered listeners.
- Parameters:
position
- the position (null
permitted).