java.lang.Object
org.jfree.chart.renderer.AbstractRenderer
org.jfree.chart.renderer.category.AbstractCategoryItemRenderer
org.jfree.chart.renderer.category.LineAndShapeRenderer
- All Implemented Interfaces:
Serializable
,Cloneable
,LegendItemSource
,CategoryItemRenderer
,PublicCloneable
- Direct Known Subclasses:
DefaultCategoryItemRenderer
,StatisticalLineAndShapeRenderer
public class LineAndShapeRenderer
extends AbstractCategoryItemRenderer
implements Cloneable, PublicCloneable, Serializable
A renderer that draws shapes for each data item, and lines between data
items (for use with the
CategoryPlot
class).
The example shown here is generated by the LineChartDemo1.java
program included in the JFreeChart Demo Collection:
- See Also:
-
Field Summary
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
ConstructorDescriptionCreates a renderer with both lines and shapes visible by default.LineAndShapeRenderer
(boolean lines, boolean shapes) Creates a new renderer with lines and/or shapes visible. -
Method Summary
Modifier and TypeMethodDescriptionclone()
Returns an independent copy of the renderer.void
drawItem
(Graphics2D g2, CategoryItemRendererState state, Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset, int row, int column, int pass) Draw a single data item.boolean
Tests this renderer for equality with an arbitrary object.boolean
Returns the default 'lines visible' attribute.boolean
Returns the default 'shape filled' attribute.boolean
Returns the default 'shape visible' attribute.boolean
Returnstrue
if outlines should be drawn for shapes, andfalse
otherwise.boolean
getItemLineVisible
(int series, int item) Returns the flag used to control whether or not the line for an item is visible.double
Returns the item margin, which is the gap between items within a category (expressed as a percentage of the overall category width).boolean
getItemShapeFilled
(int series, int item) Returns the flag used to control whether or not the shape for an item is filled.boolean
getItemShapeVisible
(int series, int item) Returns the flag used to control whether or not the shape for an item is visible.getLegendItem
(int datasetIndex, int series) Returns a legend item for a series.int
This renderer uses two passes to draw the data.getSeriesLinesVisible
(int series) Returns the flag used to control whether or not the lines for a series are visible.boolean
getSeriesShapesFilled
(int series) Returns the flag used to control whether or not the shapes for a series are filled.getSeriesShapesVisible
(int series) Returns the flag used to control whether or not the shapes for a series are visible.boolean
Returnstrue
if the renderer should use the fill paint setting to fill shapes, andfalse
if it should just use the regular paint.boolean
Returns the flag that controls whether the outline paint is used for shape outlines.boolean
Returns the flag that controls whether or not the x-position for each data item is offset within the category according to the series.void
setDefaultLinesVisible
(boolean flag) Sets the default 'lines visible' flag and sends aRendererChangeEvent
to all registered listeners.void
setDefaultShapesFilled
(boolean flag) Sets the default 'shapes filled' flag and sends aRendererChangeEvent
to all registered listeners.void
setDefaultShapesVisible
(boolean flag) Sets the default 'shapes visible' flag and sends aRendererChangeEvent
to all registered listeners.void
setDrawOutlines
(boolean flag) Sets the flag that controls whether outlines are drawn for shapes, and sends aRendererChangeEvent
to all registered listeners.void
setItemMargin
(double margin) Sets the item margin, which is the gap between items within a category (expressed as a percentage of the overall category width), and sends aRendererChangeEvent
to all registered listeners.void
setSeriesLinesVisible
(int series, boolean visible) Sets the 'lines visible' flag for a series and sends aRendererChangeEvent
to all registered listeners.void
setSeriesLinesVisible
(int series, Boolean flag) Sets the 'lines visible' flag for a series and sends aRendererChangeEvent
to all registered listeners.void
setSeriesShapesFilled
(int series, boolean filled) Sets the 'shapes filled' flag for a series and sends aRendererChangeEvent
to all registered listeners.void
setSeriesShapesFilled
(int series, Boolean filled) Sets the 'shapes filled' flag for a series and sends aRendererChangeEvent
to all registered listeners.void
setSeriesShapesVisible
(int series, boolean visible) Sets the 'shapes visible' flag for a series and sends aRendererChangeEvent
to all registered listeners.void
setSeriesShapesVisible
(int series, Boolean flag) Sets the 'shapes visible' flag for a series and sends aRendererChangeEvent
to all registered listeners.void
setUseFillPaint
(boolean flag) Sets the flag that controls whether the fill paint is used to fill shapes, and sends aRendererChangeEvent
to all registered listeners.void
setUseOutlinePaint
(boolean use) Sets the flag that controls whether the outline paint is used for shape outlines, and sends aRendererChangeEvent
to all registered listeners.void
setUseSeriesOffset
(boolean offset) Sets the flag that controls whether or not the x-position for each data item is offset within its category according to the series, and sends aRendererChangeEvent
to all registered listeners.Methods inherited from class org.jfree.chart.renderer.category.AbstractCategoryItemRenderer
addEntity, addItemEntity, beginElementGroup, calculateDomainMarkerTextAnchorPoint, calculateRangeMarkerTextAnchorPoint, createState, drawBackground, drawDomainGridline, drawDomainMarker, drawItemLabel, drawOutline, drawRangeLine, drawRangeMarker, findRangeBounds, findRangeBounds, getColumnCount, getDefaultItemLabelGenerator, getDefaultItemURLGenerator, getDefaultToolTipGenerator, getDomainAxis, getDrawingSupplier, getItemLabelGenerator, getItemMiddle, getItemURLGenerator, getLegendItemLabelGenerator, getLegendItems, getLegendItemToolTipGenerator, getLegendItemURLGenerator, getPlot, getRangeAxis, getRowCount, getSeriesItemLabelGenerator, getSeriesItemURLGenerator, getSeriesToolTipGenerator, getToolTipGenerator, hashCode, initialise, setDefaultItemLabelGenerator, setDefaultItemLabelGenerator, setDefaultItemURLGenerator, setDefaultItemURLGenerator, setDefaultToolTipGenerator, setDefaultToolTipGenerator, setLegendItemLabelGenerator, setLegendItemToolTipGenerator, setLegendItemURLGenerator, setPlot, setSeriesItemLabelGenerator, setSeriesItemLabelGenerator, setSeriesItemURLGenerator, setSeriesItemURLGenerator, setSeriesToolTipGenerator, setSeriesToolTipGenerator, updateCrosshairValues
Methods inherited from class org.jfree.chart.renderer.AbstractRenderer
addChangeListener, beginElementGroup, calculateLabelAnchorPoint, clearSeriesPaints, clearSeriesStrokes, endElementGroup, fireChangeEvent, getAutoPopulateSeriesFillPaint, getAutoPopulateSeriesOutlinePaint, getAutoPopulateSeriesOutlineStroke, getAutoPopulateSeriesPaint, getAutoPopulateSeriesShape, getAutoPopulateSeriesStroke, getDataBoundsIncludesVisibleSeriesOnly, getDefaultCreateEntities, getDefaultEntityRadius, getDefaultFillPaint, getDefaultItemLabelFont, getDefaultItemLabelPaint, getDefaultItemLabelsVisible, getDefaultLegendShape, getDefaultLegendTextFont, getDefaultLegendTextPaint, getDefaultNegativeItemLabelPosition, getDefaultOutlinePaint, getDefaultOutlineStroke, getDefaultPaint, getDefaultPositiveItemLabelPosition, getDefaultSeriesVisible, getDefaultSeriesVisibleInLegend, getDefaultShape, getDefaultStroke, getItemCreateEntity, getItemFillPaint, getItemLabelAnchorOffset, getItemLabelFont, getItemLabelPaint, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getItemVisible, getLegendShape, getLegendTextFont, getLegendTextPaint, getNegativeItemLabelPosition, getPositiveItemLabelPosition, getSeriesCreateEntities, getSeriesFillPaint, getSeriesItemLabelFont, getSeriesItemLabelPaint, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, getSeriesVisible, getSeriesVisibleInLegend, getTreatLegendShapeAsLine, hasListener, isItemLabelVisible, isSeriesItemLabelsVisible, isSeriesVisible, isSeriesVisibleInLegend, lookupLegendShape, lookupLegendTextFont, lookupLegendTextPaint, lookupSeriesFillPaint, lookupSeriesOutlinePaint, lookupSeriesOutlineStroke, lookupSeriesPaint, lookupSeriesShape, lookupSeriesStroke, notifyListeners, removeChangeListener, setAutoPopulateSeriesFillPaint, setAutoPopulateSeriesOutlinePaint, setAutoPopulateSeriesOutlineStroke, setAutoPopulateSeriesPaint, setAutoPopulateSeriesShape, setAutoPopulateSeriesStroke, setDataBoundsIncludesVisibleSeriesOnly, setDefaultCreateEntities, setDefaultCreateEntities, setDefaultEntityRadius, setDefaultFillPaint, setDefaultFillPaint, setDefaultItemLabelFont, setDefaultItemLabelFont, setDefaultItemLabelPaint, setDefaultItemLabelPaint, setDefaultItemLabelsVisible, setDefaultItemLabelsVisible, setDefaultLegendShape, setDefaultLegendTextFont, setDefaultLegendTextPaint, setDefaultNegativeItemLabelPosition, setDefaultNegativeItemLabelPosition, setDefaultOutlinePaint, setDefaultOutlinePaint, setDefaultOutlineStroke, setDefaultOutlineStroke, setDefaultPaint, setDefaultPaint, setDefaultPositiveItemLabelPosition, setDefaultPositiveItemLabelPosition, setDefaultSeriesVisible, setDefaultSeriesVisible, setDefaultSeriesVisibleInLegend, setDefaultSeriesVisibleInLegend, setDefaultShape, setDefaultShape, setDefaultStroke, setDefaultStroke, setItemLabelAnchorOffset, setLegendShape, setLegendTextFont, setLegendTextPaint, 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, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setTreatLegendShapeAsLine
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.jfree.chart.renderer.category.CategoryItemRenderer
addChangeListener, getDefaultCreateEntities, getDefaultFillPaint, getDefaultItemLabelFont, getDefaultItemLabelPaint, getDefaultItemLabelsVisible, getDefaultNegativeItemLabelPosition, getDefaultOutlinePaint, getDefaultOutlineStroke, getDefaultPaint, getDefaultPositiveItemLabelPosition, getDefaultSeriesVisible, getDefaultSeriesVisibleInLegend, getDefaultShape, getDefaultStroke, getItemCreateEntity, getItemFillPaint, getItemLabelFont, getItemLabelPaint, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getItemVisible, getNegativeItemLabelPosition, getPositiveItemLabelPosition, getSeriesCreateEntities, getSeriesFillPaint, getSeriesItemLabelFont, getSeriesItemLabelPaint, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, getSeriesVisible, getSeriesVisibleInLegend, isItemLabelVisible, isSeriesItemLabelsVisible, isSeriesVisible, isSeriesVisibleInLegend, removeChangeListener, setDefaultCreateEntities, setDefaultCreateEntities, setDefaultFillPaint, setDefaultItemLabelFont, setDefaultItemLabelFont, setDefaultItemLabelPaint, setDefaultItemLabelPaint, setDefaultItemLabelsVisible, setDefaultItemLabelsVisible, setDefaultNegativeItemLabelPosition, setDefaultNegativeItemLabelPosition, setDefaultOutlinePaint, setDefaultOutlinePaint, setDefaultOutlineStroke, setDefaultOutlineStroke, setDefaultPaint, setDefaultPaint, setDefaultPositiveItemLabelPosition, setDefaultPositiveItemLabelPosition, setDefaultSeriesVisible, setDefaultSeriesVisible, setDefaultSeriesVisibleInLegend, setDefaultSeriesVisibleInLegend, setDefaultShape, setDefaultShape, setDefaultStroke, setDefaultStroke, setSeriesCreateEntities, setSeriesCreateEntities, setSeriesFillPaint, setSeriesItemLabelFont, setSeriesItemLabelFont, setSeriesItemLabelPaint, setSeriesItemLabelPaint, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesNegativeItemLabelPosition, setSeriesNegativeItemLabelPosition, setSeriesOutlinePaint, setSeriesOutlinePaint, setSeriesOutlineStroke, setSeriesOutlineStroke, setSeriesPaint, setSeriesPaint, setSeriesPositiveItemLabelPosition, setSeriesPositiveItemLabelPosition, setSeriesShape, setSeriesShape, setSeriesStroke, setSeriesStroke, setSeriesVisible, setSeriesVisible, setSeriesVisibleInLegend, setSeriesVisibleInLegend
-
Constructor Details
-
LineAndShapeRenderer
public LineAndShapeRenderer()Creates a renderer with both lines and shapes visible by default. -
LineAndShapeRenderer
public LineAndShapeRenderer(boolean lines, boolean shapes) Creates a new renderer with lines and/or shapes visible.- Parameters:
lines
- draw lines?shapes
- draw shapes?
-
-
Method Details
-
getItemLineVisible
public boolean getItemLineVisible(int series, int item) Returns the flag used to control whether or not the line for an item is visible.- Parameters:
series
- the series index (zero-based).item
- the item index (zero-based).- Returns:
- A boolean.
-
getSeriesLinesVisible
Returns the flag used to control whether or not the lines for a series are visible.- Parameters:
series
- the series index (zero-based).- Returns:
- The flag (possibly
null
). - See Also:
-
setSeriesLinesVisible
Sets the 'lines visible' flag for a series and sends aRendererChangeEvent
to all registered listeners.- Parameters:
series
- the series index (zero-based).flag
- the flag (null
permitted).- See Also:
-
setSeriesLinesVisible
public void setSeriesLinesVisible(int series, boolean visible) Sets the 'lines visible' flag for a series and sends aRendererChangeEvent
to all registered listeners.- Parameters:
series
- the series index (zero-based).visible
- the flag.- See Also:
-
getDefaultLinesVisible
public boolean getDefaultLinesVisible()Returns the default 'lines visible' attribute.- Returns:
- The default flag.
- See Also:
-
setDefaultLinesVisible
public void setDefaultLinesVisible(boolean flag) Sets the default 'lines visible' flag and sends aRendererChangeEvent
to all registered listeners.- Parameters:
flag
- the flag.- See Also:
-
getItemShapeVisible
public boolean getItemShapeVisible(int series, int item) Returns the flag used to control whether or not the shape for an item is visible.- Parameters:
series
- the series index (zero-based).item
- the item index (zero-based).- Returns:
- A boolean.
-
getSeriesShapesVisible
Returns the flag used to control whether or not the shapes for a series are visible.- Parameters:
series
- the series index (zero-based).- Returns:
- A boolean.
- See Also:
-
setSeriesShapesVisible
public void setSeriesShapesVisible(int series, boolean visible) Sets the 'shapes visible' flag for a series and sends aRendererChangeEvent
to all registered listeners.- Parameters:
series
- the series index (zero-based).visible
- the flag.- See Also:
-
setSeriesShapesVisible
Sets the 'shapes visible' flag for a series and sends aRendererChangeEvent
to all registered listeners.- Parameters:
series
- the series index (zero-based).flag
- the flag.- See Also:
-
getDefaultShapesVisible
public boolean getDefaultShapesVisible()Returns the default 'shape visible' attribute.- Returns:
- The base flag.
- See Also:
-
setDefaultShapesVisible
public void setDefaultShapesVisible(boolean flag) Sets the default 'shapes visible' flag and sends aRendererChangeEvent
to all registered listeners.- Parameters:
flag
- the flag.- See Also:
-
getDrawOutlines
public boolean getDrawOutlines()Returnstrue
if outlines should be drawn for shapes, andfalse
otherwise.- Returns:
- A boolean.
- See Also:
-
setDrawOutlines
public void setDrawOutlines(boolean flag) Sets the flag that controls whether outlines are drawn for shapes, and sends aRendererChangeEvent
to all registered listeners.In some cases, shapes look better if they do NOT have an outline, but this flag allows you to set your own preference.
- Parameters:
flag
- the flag.- See Also:
-
getUseOutlinePaint
public boolean getUseOutlinePaint()Returns the flag that controls whether the outline paint is used for shape outlines. If not, the regular series paint is used.- Returns:
- A boolean.
- See Also:
-
setUseOutlinePaint
public void setUseOutlinePaint(boolean use) Sets the flag that controls whether the outline paint is used for shape outlines, and sends aRendererChangeEvent
to all registered listeners.- Parameters:
use
- the flag.- See Also:
-
getItemShapeFilled
public boolean getItemShapeFilled(int series, int item) Returns the flag used to control whether or not the shape for an item is filled. The default implementation passes control to thegetSeriesShapesFilled
method. You can override this method if you require different behaviour.- Parameters:
series
- the series index (zero-based).item
- the item index (zero-based).- Returns:
- A boolean.
-
getSeriesShapesFilled
public boolean getSeriesShapesFilled(int series) Returns the flag used to control whether or not the shapes for a series are filled.- Parameters:
series
- the series index (zero-based).- Returns:
- A boolean.
-
setSeriesShapesFilled
Sets the 'shapes filled' flag for a series and sends aRendererChangeEvent
to all registered listeners.- Parameters:
series
- the series index (zero-based).filled
- the flag.- See Also:
-
setSeriesShapesFilled
public void setSeriesShapesFilled(int series, boolean filled) Sets the 'shapes filled' flag for a series and sends aRendererChangeEvent
to all registered listeners.- Parameters:
series
- the series index (zero-based).filled
- the flag.- See Also:
-
getDefaultShapesFilled
public boolean getDefaultShapesFilled()Returns the default 'shape filled' attribute.- Returns:
- The base flag.
- See Also:
-
setDefaultShapesFilled
public void setDefaultShapesFilled(boolean flag) Sets the default 'shapes filled' flag and sends aRendererChangeEvent
to all registered listeners.- Parameters:
flag
- the flag.- See Also:
-
getUseFillPaint
public boolean getUseFillPaint()Returnstrue
if the renderer should use the fill paint setting to fill shapes, andfalse
if it should just use the regular paint.- Returns:
- A boolean.
- See Also:
-
setUseFillPaint
public void setUseFillPaint(boolean flag) Sets the flag that controls whether the fill paint is used to fill shapes, and sends aRendererChangeEvent
to all registered listeners.- Parameters:
flag
- the flag.- See Also:
-
getUseSeriesOffset
public boolean getUseSeriesOffset()Returns the flag that controls whether or not the x-position for each data item is offset within the category according to the series.- Returns:
- A boolean.
- See Also:
-
setUseSeriesOffset
public void setUseSeriesOffset(boolean offset) Sets the flag that controls whether or not the x-position for each data item is offset within its category according to the series, and sends aRendererChangeEvent
to all registered listeners.- Parameters:
offset
- the offset.- See Also:
-
getItemMargin
public double getItemMargin()Returns the item margin, which is the gap between items within a category (expressed as a percentage of the overall category width). This can be used to match the offset alignment with the bars drawn by aBarRenderer
).- Returns:
- The item margin.
- See Also:
-
setItemMargin
public void setItemMargin(double margin) Sets the item margin, which is the gap between items within a category (expressed as a percentage of the overall category width), and sends aRendererChangeEvent
to all registered listeners.- Parameters:
margin
- the margin (0.0 <= margin < 1.0).- See Also:
-
getLegendItem
Returns a legend item for a series.- Specified by:
getLegendItem
in interfaceCategoryItemRenderer
- Overrides:
getLegendItem
in classAbstractCategoryItemRenderer
- Parameters:
datasetIndex
- the dataset index (zero-based).series
- the series index (zero-based).- Returns:
- The legend item.
- See Also:
-
getPassCount
public int getPassCount()This renderer uses two passes to draw the data.- Specified by:
getPassCount
in interfaceCategoryItemRenderer
- Overrides:
getPassCount
in classAbstractCategoryItemRenderer
- Returns:
- The pass count (
2
for this renderer).
-
drawItem
public void drawItem(Graphics2D g2, CategoryItemRendererState state, Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset, int row, int column, int pass) Draw a single data item.- Specified by:
drawItem
in interfaceCategoryItemRenderer
- Parameters:
g2
- the graphics device.state
- the renderer state.dataArea
- the area in which the data is drawn.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.
-
equals
Tests this renderer for equality with an arbitrary object.- Overrides:
equals
in classAbstractCategoryItemRenderer
- Parameters:
obj
- the object (null
permitted).- Returns:
- A boolean.
-
clone
Returns an independent copy of the renderer.- Specified by:
clone
in interfacePublicCloneable
- Overrides:
clone
in classAbstractCategoryItemRenderer
- Returns:
- A clone.
- Throws:
CloneNotSupportedException
- should not happen.
-