Class ScatterRenderer
- java.lang.Object
-
- org.jfree.chart.renderer.AbstractRenderer
-
- org.jfree.chart.renderer.category.AbstractCategoryItemRenderer
-
- org.jfree.chart.renderer.category.ScatterRenderer
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,LegendItemSource
,CategoryItemRenderer
,PublicCloneable
public class ScatterRenderer extends AbstractCategoryItemRenderer implements java.lang.Cloneable, PublicCloneable, java.io.Serializable
A renderer that handles the multiple values from aMultiValueCategoryDataset
by plotting a shape for each value for each given item in the dataset. The example shown here is generated by theScatterRendererDemo1.java
program included in the JFreeChart Demo Collection:
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
baseShapesFilled
The default value returned by the getShapeFilled() method.private boolean
drawOutlines
A flag that controls whether outlines are drawn for shapes.private double
itemMargin
The item margin used for series offsetting - this allows the positioning to match the bar positions of theBarRenderer
class.private BooleanList
seriesShapesFilled
A table of flags that control (per series) whether or not shapes are filled.private boolean
useFillPaint
A flag that controls whether the fill paint is used for filling shapes.private boolean
useOutlinePaint
A flag that controls whether the outline paint is used for drawing shape outlines - if not, the regular series paint is used.private boolean
useSeriesOffset
A flag that controls whether or not the x-position for each item is offset within the category according to the series.-
Fields inherited from class org.jfree.chart.renderer.AbstractRenderer
DEFAULT_ITEM_LABEL_INSETS, DEFAULT_OUTLINE_PAINT, DEFAULT_OUTLINE_STROKE, DEFAULT_PAINT, DEFAULT_SHAPE, DEFAULT_STROKE, DEFAULT_VALUE_LABEL_FONT, DEFAULT_VALUE_LABEL_PAINT, ZERO
-
-
Constructor Summary
Constructors Constructor Description ScatterRenderer()
Constructs a new renderer.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
clone()
Returns an independent copy of the renderer.void
drawItem(java.awt.Graphics2D g2, CategoryItemRendererState state, java.awt.geom.Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset, int row, int column, int pass)
Draw a single data item.boolean
equals(java.lang.Object obj)
Tests this renderer for equality with an arbitrary object.Range
findRangeBounds(CategoryDataset dataset)
Returns the range of values the renderer requires to display all the items from the specified dataset.boolean
getBaseShapesFilled()
Returns the base 'shape filled' attribute.boolean
getDrawOutlines()
Returnstrue
if outlines should be drawn for shapes, andfalse
otherwise.double
getItemMargin()
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.LegendItem
getLegendItem(int datasetIndex, int series)
Returns a legend item for a series.boolean
getSeriesShapesFilled(int series)
Returns the flag used to control whether or not the shapes for a series are filled.boolean
getUseFillPaint()
Returnstrue
if the renderer should use the fill paint setting to fill shapes, andfalse
if it should just use the regular paint.boolean
getUseOutlinePaint()
Returns the flag that controls whether the outline paint is used for shape outlines.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.private void
readObject(java.io.ObjectInputStream stream)
Provides serialization support.void
setBaseShapesFilled(boolean flag)
Sets the base 'shapes filled' 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
setSeriesShapesFilled(int series, boolean filled)
Sets the 'shapes filled' flag for a series and sends aRendererChangeEvent
to all registered listeners.void
setSeriesShapesFilled(int series, java.lang.Boolean filled)
Sets the 'shapes filled' 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.private void
writeObject(java.io.ObjectOutputStream stream)
Provides serialization support.-
Methods inherited from class org.jfree.chart.renderer.category.AbstractCategoryItemRenderer
addEntity, addItemEntity, beginElementGroup, calculateDomainMarkerTextAnchorPoint, calculateRangeMarkerTextAnchorPoint, createState, drawBackground, drawDomainGridline, drawDomainMarker, drawItemLabel, drawOutline, drawRangeLine, drawRangeMarker, findRangeBounds, getColumnCount, getDefaultItemLabelGenerator, getDefaultItemURLGenerator, getDefaultToolTipGenerator, getDomainAxis, getDrawingSupplier, getItemLabelGenerator, getItemMiddle, getItemURLGenerator, getLegendItemLabelGenerator, getLegendItems, getLegendItemToolTipGenerator, getLegendItemURLGenerator, getPassCount, 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, getItemLabelInsets, 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, isComputeItemLabelContrastColor, isItemLabelVisible, isSeriesItemLabelsVisible, isSeriesVisible, isSeriesVisibleInLegend, lookupLegendShape, lookupLegendTextFont, lookupLegendTextPaint, lookupSeriesFillPaint, lookupSeriesOutlinePaint, lookupSeriesOutlineStroke, lookupSeriesPaint, lookupSeriesShape, lookupSeriesStroke, notifyListeners, removeChangeListener, setAutoPopulateSeriesFillPaint, setAutoPopulateSeriesOutlinePaint, setAutoPopulateSeriesOutlineStroke, setAutoPopulateSeriesPaint, setAutoPopulateSeriesShape, setAutoPopulateSeriesStroke, setComputeItemLabelContrastColor, 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, setItemLabelInsets, 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
-
-
-
-
Field Detail
-
seriesShapesFilled
private BooleanList seriesShapesFilled
A table of flags that control (per series) whether or not shapes are filled.
-
baseShapesFilled
private boolean baseShapesFilled
The default value returned by the getShapeFilled() method.
-
useFillPaint
private boolean useFillPaint
A flag that controls whether the fill paint is used for filling shapes.
-
drawOutlines
private boolean drawOutlines
A flag that controls whether outlines are drawn for shapes.
-
useOutlinePaint
private boolean useOutlinePaint
A flag that controls whether the outline paint is used for drawing shape outlines - if not, the regular series paint is used.
-
useSeriesOffset
private boolean useSeriesOffset
A flag that controls whether or not the x-position for each item is offset within the category according to the series.
-
itemMargin
private double itemMargin
The item margin used for series offsetting - this allows the positioning to match the bar positions of theBarRenderer
class.
-
-
Method Detail
-
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(boolean)
-
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:
getUseSeriesOffset()
-
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(double)
,getUseSeriesOffset()
-
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:
getItemMargin()
,getUseSeriesOffset()
-
getDrawOutlines
public boolean getDrawOutlines()
Returnstrue
if outlines should be drawn for shapes, andfalse
otherwise.- Returns:
- A boolean.
- See Also:
setDrawOutlines(boolean)
-
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:
getDrawOutlines()
-
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(boolean)
-
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:
getUseOutlinePaint()
-
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
public void setSeriesShapesFilled(int series, java.lang.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.
-
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.
-
getBaseShapesFilled
public boolean getBaseShapesFilled()
Returns the base 'shape filled' attribute.- Returns:
- The base flag.
-
setBaseShapesFilled
public void setBaseShapesFilled(boolean flag)
Sets the base 'shapes filled' flag and sends aRendererChangeEvent
to all registered listeners.- Parameters:
flag
- the flag.
-
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.
-
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.
-
findRangeBounds
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 between the min/max values, possibly ignoring invisible series.- Specified by:
findRangeBounds
in interfaceCategoryItemRenderer
- Overrides:
findRangeBounds
in classAbstractCategoryItemRenderer
- Parameters:
dataset
- the dataset (null
permitted).- Returns:
- The range (or
null
if the dataset isnull
or empty).
-
drawItem
public void drawItem(java.awt.Graphics2D g2, CategoryItemRendererState state, java.awt.geom.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.
-
getLegendItem
public LegendItem getLegendItem(int datasetIndex, int series)
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:
AbstractCategoryItemRenderer.getLegendItems()
-
equals
public boolean equals(java.lang.Object obj)
Tests this renderer for equality with an arbitrary object.- Overrides:
equals
in classAbstractCategoryItemRenderer
- Parameters:
obj
- the object (null
permitted).- Returns:
- A boolean.
-
clone
public java.lang.Object clone() throws java.lang.CloneNotSupportedException
Returns an independent copy of the renderer.- Specified by:
clone
in interfacePublicCloneable
- Overrides:
clone
in classAbstractCategoryItemRenderer
- Returns:
- A clone.
- Throws:
java.lang.CloneNotSupportedException
- should not happen.
-
writeObject
private void writeObject(java.io.ObjectOutputStream stream) throws java.io.IOException
Provides serialization support.- Parameters:
stream
- the output stream.- Throws:
java.io.IOException
- if there is an I/O error.
-
readObject
private void readObject(java.io.ObjectInputStream stream) throws java.io.IOException, java.lang.ClassNotFoundException
Provides serialization support.- Parameters:
stream
- the input stream.- Throws:
java.io.IOException
- if there is an I/O error.java.lang.ClassNotFoundException
- if there is a classpath problem.
-
-