public class XYBarRenderer extends AbstractXYItemRenderer implements XYItemRenderer, java.lang.Cloneable, org.jfree.util.PublicCloneable, java.io.Serializable
XYPlot
(requires an
IntervalXYDataset
). The example shown here is generated by the
XYBarChartDemo1.java
program included in the JFreeChart
demo collection:
Modifier and Type | Class and Description |
---|---|
protected class |
XYBarRenderer.XYBarRendererState
The state class used by this renderer.
|
DEFAULT_OUTLINE_PAINT, DEFAULT_OUTLINE_STROKE, DEFAULT_PAINT, DEFAULT_SHAPE, DEFAULT_STROKE, DEFAULT_VALUE_LABEL_FONT, DEFAULT_VALUE_LABEL_PAINT, ZERO
Constructor and Description |
---|
XYBarRenderer()
The default constructor.
|
XYBarRenderer(double margin)
Constructs a new renderer.
|
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
clone()
Returns a clone of the renderer.
|
void |
drawItem(java.awt.Graphics2D g2,
XYItemRendererState state,
java.awt.geom.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 void |
drawItemLabel(java.awt.Graphics2D g2,
XYDataset dataset,
int series,
int item,
XYPlot plot,
XYItemLabelGenerator generator,
java.awt.geom.Rectangle2D bar,
boolean negative)
Draws an item label.
|
boolean |
equals(java.lang.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. |
org.jfree.ui.GradientPaintTransformer |
getGradientPaintTransformer()
Returns the gradient paint transformer (an object used to transform
gradient paint objects to fit each bar).
|
java.awt.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.
|
boolean |
getShadowsVisible()
Returns the flag that controls whether or not shadows are drawn for
the bars.
|
double |
getShadowXOffset()
Returns the shadow x-offset.
|
double |
getShadowYOffset()
Returns the shadow y-offset.
|
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(java.awt.Graphics2D g2,
java.awt.geom.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(org.jfree.ui.GradientPaintTransformer transformer)
Sets the gradient paint transformer and sends a
RendererChangeEvent to all registered listeners. |
void |
setLegendBar(java.awt.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. |
addAnnotation, addAnnotation, addEntity, annotationChanged, calculateDomainMarkerTextAnchorPoint, drawAnnotations, drawDomainGridLine, drawDomainLine, drawDomainMarker, drawItemLabel, drawRangeLine, drawRangeMarker, fillDomainGridBand, fillRangeGridBand, findDomainBounds, findRangeBounds, getAnnotations, getBaseItemLabelGenerator, getBaseToolTipGenerator, getDrawingSupplier, getItemLabelGenerator, getItemLabelGenerator, getLegendItemLabelGenerator, getLegendItems, getLegendItemToolTipGenerator, getLegendItemURLGenerator, getPassCount, getPlot, getSeriesItemLabelGenerator, getSeriesToolTipGenerator, getToolTipGenerator, getToolTipGenerator, getURLGenerator, isPointInRect, lineTo, moveTo, removeAnnotation, removeAnnotations, setBaseItemLabelGenerator, setBaseToolTipGenerator, setItemLabelGenerator, setLegendItemLabelGenerator, setLegendItemToolTipGenerator, setLegendItemURLGenerator, setPlot, setSeriesItemLabelGenerator, setSeriesToolTipGenerator, setToolTipGenerator, setURLGenerator, updateCrosshairValues, updateCrosshairValues
addChangeListener, calculateLabelAnchorPoint, clearSeriesPaints, clearSeriesStrokes, fireChangeEvent, getAutoPopulateSeriesFillPaint, getAutoPopulateSeriesOutlinePaint, getAutoPopulateSeriesOutlineStroke, getAutoPopulateSeriesPaint, getAutoPopulateSeriesShape, getAutoPopulateSeriesStroke, getBaseCreateEntities, getBaseFillPaint, getBaseItemLabelFont, getBaseItemLabelPaint, getBaseItemLabelsVisible, getBaseLegendShape, getBaseLegendTextFont, getBaseLegendTextPaint, getBaseNegativeItemLabelPosition, getBaseOutlinePaint, getBaseOutlineStroke, getBasePaint, getBasePositiveItemLabelPosition, getBaseSeriesVisible, getBaseSeriesVisibleInLegend, getBaseShape, getBaseStroke, getCreateEntities, getDataBoundsIncludesVisibleSeriesOnly, getDefaultEntityRadius, getItemCreateEntity, getItemFillPaint, getItemLabelAnchorOffset, getItemLabelFont, getItemLabelFont, getItemLabelPaint, getItemLabelPaint, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getItemVisible, getLegendShape, getLegendTextFont, getLegendTextPaint, getNegativeItemLabelPosition, getNegativeItemLabelPosition, getPositiveItemLabelPosition, getPositiveItemLabelPosition, getSeriesCreateEntities, getSeriesFillPaint, getSeriesItemLabelFont, getSeriesItemLabelPaint, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, getSeriesVisible, getSeriesVisible, getSeriesVisibleInLegend, getSeriesVisibleInLegend, getTreatLegendShapeAsLine, hashCode, hasListener, isItemLabelVisible, isSeriesItemLabelsVisible, isSeriesVisible, isSeriesVisibleInLegend, lookupLegendShape, lookupLegendTextFont, lookupLegendTextPaint, lookupSeriesFillPaint, lookupSeriesOutlinePaint, lookupSeriesOutlineStroke, lookupSeriesPaint, lookupSeriesShape, lookupSeriesStroke, notifyListeners, removeChangeListener, setAutoPopulateSeriesFillPaint, setAutoPopulateSeriesOutlinePaint, setAutoPopulateSeriesOutlineStroke, setAutoPopulateSeriesPaint, setAutoPopulateSeriesShape, setAutoPopulateSeriesStroke, setBaseCreateEntities, setBaseCreateEntities, setBaseFillPaint, setBaseFillPaint, setBaseItemLabelFont, setBaseItemLabelFont, setBaseItemLabelPaint, setBaseItemLabelPaint, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseLegendShape, setBaseLegendTextFont, setBaseLegendTextPaint, setBaseNegativeItemLabelPosition, setBaseNegativeItemLabelPosition, setBaseOutlinePaint, setBaseOutlinePaint, setBaseOutlineStroke, setBaseOutlineStroke, setBasePaint, setBasePaint, setBasePositiveItemLabelPosition, setBasePositiveItemLabelPosition, setBaseSeriesVisible, setBaseSeriesVisible, setBaseSeriesVisibleInLegend, setBaseSeriesVisibleInLegend, setBaseShape, setBaseShape, setBaseStroke, setBaseStroke, setCreateEntities, setCreateEntities, setDataBoundsIncludesVisibleSeriesOnly, setDefaultEntityRadius, setFillPaint, setFillPaint, setItemLabelAnchorOffset, setItemLabelFont, setItemLabelFont, setItemLabelPaint, setItemLabelPaint, setItemLabelsVisible, setItemLabelsVisible, setItemLabelsVisible, setLegendShape, setLegendTextFont, setLegendTextPaint, setNegativeItemLabelPosition, setNegativeItemLabelPosition, setOutlinePaint, setOutlinePaint, setOutlineStroke, setOutlineStroke, setPaint, setPaint, setPositiveItemLabelPosition, setPositiveItemLabelPosition, setSeriesCreateEntities, setSeriesCreateEntities, setSeriesFillPaint, setSeriesFillPaint, setSeriesItemLabelFont, setSeriesItemLabelFont, setSeriesItemLabelPaint, setSeriesItemLabelPaint, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesNegativeItemLabelPosition, setSeriesNegativeItemLabelPosition, setSeriesOutlinePaint, setSeriesOutlinePaint, setSeriesOutlineStroke, setSeriesOutlineStroke, setSeriesPaint, setSeriesPaint, setSeriesPositiveItemLabelPosition, setSeriesPositiveItemLabelPosition, setSeriesShape, setSeriesShape, setSeriesStroke, setSeriesStroke, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setShape, setShape, setStroke, setStroke, setTreatLegendShapeAsLine
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
addAnnotation, addAnnotation, addChangeListener, drawAnnotations, drawDomainGridLine, drawDomainMarker, drawRangeLine, drawRangeMarker, fillDomainGridBand, fillRangeGridBand, getBaseItemLabelFont, getBaseItemLabelGenerator, getBaseItemLabelPaint, getBaseItemLabelsVisible, getBaseNegativeItemLabelPosition, getBaseOutlinePaint, getBaseOutlineStroke, getBasePaint, getBasePositiveItemLabelPosition, getBaseSeriesVisible, getBaseSeriesVisibleInLegend, getBaseShape, getBaseStroke, getBaseToolTipGenerator, getItemLabelFont, getItemLabelFont, getItemLabelGenerator, getItemLabelPaint, getItemLabelPaint, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getItemVisible, getLegendItemLabelGenerator, getNegativeItemLabelPosition, getNegativeItemLabelPosition, getPassCount, getPlot, getPositiveItemLabelPosition, getPositiveItemLabelPosition, getSeriesItemLabelFont, getSeriesItemLabelGenerator, getSeriesItemLabelPaint, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, getSeriesToolTipGenerator, getSeriesVisible, getSeriesVisible, getSeriesVisibleInLegend, getSeriesVisibleInLegend, getToolTipGenerator, getURLGenerator, isItemLabelVisible, isSeriesItemLabelsVisible, isSeriesVisible, isSeriesVisibleInLegend, removeAnnotation, removeAnnotations, removeChangeListener, setBaseItemLabelFont, setBaseItemLabelGenerator, setBaseItemLabelPaint, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseNegativeItemLabelPosition, setBaseNegativeItemLabelPosition, setBaseOutlinePaint, setBaseOutlineStroke, setBasePaint, setBasePositiveItemLabelPosition, setBasePositiveItemLabelPosition, setBaseSeriesVisible, setBaseSeriesVisible, setBaseSeriesVisibleInLegend, setBaseSeriesVisibleInLegend, setBaseShape, setBaseStroke, setBaseToolTipGenerator, setItemLabelFont, setItemLabelGenerator, setItemLabelPaint, setItemLabelsVisible, setItemLabelsVisible, setItemLabelsVisible, setLegendItemLabelGenerator, setNegativeItemLabelPosition, setNegativeItemLabelPosition, setOutlinePaint, setOutlineStroke, setPaint, setPlot, setPositiveItemLabelPosition, setPositiveItemLabelPosition, setSeriesItemLabelFont, setSeriesItemLabelGenerator, setSeriesItemLabelPaint, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesNegativeItemLabelPosition, setSeriesNegativeItemLabelPosition, setSeriesOutlinePaint, setSeriesOutlineStroke, setSeriesPaint, setSeriesPositiveItemLabelPosition, setSeriesPositiveItemLabelPosition, setSeriesShape, setSeriesStroke, setSeriesToolTipGenerator, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setShape, setStroke, setToolTipGenerator, setURLGenerator
getLegendItems
public XYBarRenderer()
public XYBarRenderer(double margin)
margin
- the percentage amount to trim from the width of each bar.public static XYBarPainter getDefaultBarPainter()
public static void setDefaultBarPainter(XYBarPainter painter)
painter
- the painter (null
not permitted).public static boolean getDefaultShadowsVisible()
shadowsVisible
flag.setDefaultShadowsVisible(boolean)
public static void setDefaultShadowsVisible(boolean visible)
visible
- the new value for the default.getDefaultShadowsVisible()
public double getBase()
setBase(double)
public void setBase(double base)
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.base
- the new base value.getBase()
,
getUseYInterval()
public boolean getUseYInterval()
setUseYInterval(boolean)
public void setUseYInterval(boolean use)
RendererChangeEvent
to all registered listeners.use
- the flag.getUseYInterval()
public double getMargin()
setMargin(double)
public void setMargin(double margin)
RendererChangeEvent
to all registered listeners.margin
- the new margin.getMargin()
public boolean isDrawBarOutline()
setDrawBarOutline(boolean)
public void setDrawBarOutline(boolean draw)
RendererChangeEvent
to all registered listeners.draw
- the flag.isDrawBarOutline()
public org.jfree.ui.GradientPaintTransformer getGradientPaintTransformer()
null
possible).setGradientPaintTransformer(GradientPaintTransformer)
public void setGradientPaintTransformer(org.jfree.ui.GradientPaintTransformer transformer)
RendererChangeEvent
to all registered listeners.transformer
- the transformer (null
permitted).getGradientPaintTransformer()
public java.awt.Shape getLegendBar()
null
).setLegendBar(Shape)
public void setLegendBar(java.awt.Shape bar)
RendererChangeEvent
to all registered listeners.bar
- the bar shape (null
not permitted).getLegendBar()
public ItemLabelPosition getPositiveItemLabelPositionFallback()
null
possible).setPositiveItemLabelPositionFallback(ItemLabelPosition)
public void setPositiveItemLabelPositionFallback(ItemLabelPosition position)
RendererChangeEvent
to all registered
listeners.position
- the position (null
permitted).getPositiveItemLabelPositionFallback()
public ItemLabelPosition getNegativeItemLabelPositionFallback()
null
possible).setNegativeItemLabelPositionFallback(ItemLabelPosition)
public void setNegativeItemLabelPositionFallback(ItemLabelPosition position)
RendererChangeEvent
to all registered
listeners.position
- the position (null
permitted).getNegativeItemLabelPositionFallback()
public XYBarPainter getBarPainter()
null
).public void setBarPainter(XYBarPainter painter)
RendererChangeEvent
to all
registered listeners.painter
- the painter (null
not permitted).public boolean getShadowsVisible()
public void setShadowVisible(boolean visible)
RendererChangeEvent
to all registered listeners.visible
- the new flag value.public double getShadowXOffset()
public void setShadowXOffset(double offset)
RendererChangeEvent
to all registered listeners.offset
- the offset.public double getShadowYOffset()
public void setShadowYOffset(double offset)
RendererChangeEvent
to all registered listeners.offset
- the offset.public double getBarAlignmentFactor()
public void setBarAlignmentFactor(double factor)
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.factor
- the factor.public XYItemRendererState initialise(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, XYPlot plot, XYDataset dataset, PlotRenderingInfo info)
initialise
in interface XYItemRenderer
initialise
in class AbstractXYItemRenderer
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.public LegendItem getLegendItem(int datasetIndex, int series)
getLegendItem
in interface XYItemRenderer
getLegendItem
in class AbstractXYItemRenderer
datasetIndex
- the dataset index (zero-based).series
- the series index (zero-based).public void drawItem(java.awt.Graphics2D g2, XYItemRendererState state, java.awt.geom.Rectangle2D dataArea, PlotRenderingInfo info, XYPlot plot, ValueAxis domainAxis, ValueAxis rangeAxis, XYDataset dataset, int series, int item, CrosshairState crosshairState, int pass)
drawItem
in interface XYItemRenderer
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.protected void drawItemLabel(java.awt.Graphics2D g2, XYDataset dataset, int series, int item, XYPlot plot, XYItemLabelGenerator generator, java.awt.geom.Rectangle2D bar, boolean negative)
AbstractXYItemRenderer.drawItemLabel(Graphics2D, PlotOrientation, XYDataset, int, int,
double, double, boolean)
so that the bar can be used to calculate the
label anchor point.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.public Range findDomainBounds(XYDataset dataset)
findDomainBounds
in interface XYItemRenderer
findDomainBounds
in class AbstractXYItemRenderer
dataset
- the dataset (null
permitted).null
if the dataset is
null
or empty).AbstractXYItemRenderer.findRangeBounds(XYDataset)
public Range findRangeBounds(XYDataset dataset)
findRangeBounds
in interface XYItemRenderer
findRangeBounds
in class AbstractXYItemRenderer
dataset
- the dataset (null
permitted).null
if the dataset is
null
or empty).AbstractXYItemRenderer.findDomainBounds(XYDataset)
public java.lang.Object clone() throws java.lang.CloneNotSupportedException
clone
in interface org.jfree.util.PublicCloneable
clone
in class AbstractXYItemRenderer
java.lang.CloneNotSupportedException
- if the renderer cannot be cloned.public boolean equals(java.lang.Object obj)
equals
in class AbstractXYItemRenderer
obj
- the object to test against (null
permitted).