## org.jfree.chart.renderer.category
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, org.jfree.util.PublicCloneable

    public class ScatterRenderer

extends AbstractCategoryItemRenderer
implements java.lang.Cloneable, org.jfree.util.PublicCloneable, java.io.Serializable

A renderer that handles the multiple values from a `MultiValueCategoryDataset` by plotting a shape for each value for each given item in the dataset.

Since:
  1.0.7
See Also:
  Serialized Form

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
`ScatterRenderer()` Constructs a new renderer.

Method Summary
`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.
`boolean` `getBaseShapesFilled()` Returns the base 'shape filled' attribute.
`boolean` `getDrawOutlines()` Returns `true` if outlines should be drawn for shapes, and `false` 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()` Returns `true` if the renderer should use the fill paint setting to fill shapes, and `false` 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.
`void` `setBaseShapesFilled(boolean flag)` Sets the base 'shapes filled' flag and sends a `RendererChangeEvent` to all registered listeners.
`void` `setDrawOutlines(boolean flag)` Sets the flag that controls whether outlines are drawn for shapes, and sends a `RendererChangeEvent` 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 a `RendererChangeEvent` to all registered listeners.
`void` `setSeriesShapesFilled(int series, boolean filled)` Sets the 'shapes filled' flag for a series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setSeriesShapesFilled(int series, java.lang.Boolean filled)` Sets the 'shapes filled' flag for a series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setUseFillPaint(boolean flag)` Sets the flag that controls whether the fill paint is used to fill shapes, and sends a `RendererChangeEvent` to all registered listeners.
`void` `setUseOutlinePaint(boolean use)` Sets the flag that controls whether the outline paint is used for shape outlines, and sends a `RendererChangeEvent` 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 a `RendererChangeEvent` to all registered listeners.

Methods inherited from class org.jfree.chart.renderer.category.AbstractCategoryItemRenderer

`addItemEntity, calculateDomainMarkerTextAnchorPoint, calculateRangeMarkerTextAnchorPoint, createState, drawBackground, drawDomainGridline, drawDomainMarker, drawItemLabel, drawOutline, drawRangeGridline, drawRangeMarker, findRangeBounds, getBaseItemLabelGenerator, getBaseItemURLGenerator, getBaseToolTipGenerator, getColumnCount, getDomainAxis, getDrawingSupplier, getItemLabelGenerator, getItemURLGenerator, getLegendItemLabelGenerator, getLegendItems, getLegendItemToolTipGenerator, getLegendItemURLGenerator, getPassCount, getPlot, getRangeAxis, getRowCount, getSeriesItemLabelGenerator, getSeriesItemURLGenerator, getSeriesToolTipGenerator, getToolTipGenerator, getToolTipGenerator, hashCode, initialise, setBaseItemLabelGenerator, setBaseItemURLGenerator, setBaseToolTipGenerator, setItemLabelGenerator, setItemURLGenerator, setLegendItemLabelGenerator, setLegendItemToolTipGenerator, setLegendItemURLGenerator, setPlot, setSeriesItemLabelGenerator, setSeriesItemURLGenerator, setSeriesToolTipGenerator, setToolTipGenerator`

Methods inherited from class org.jfree.chart.renderer.AbstractRenderer

`addChangeListener, calculateLabelAnchorPoint, fireChangeEvent, getAutoPopulateSeriesFillPaint, getAutoPopulateSeriesOutlinePaint, getAutoPopulateSeriesOutlineStroke, getAutoPopulateSeriesPaint, getAutoPopulateSeriesShape, getAutoPopulateSeriesStroke, getBaseCreateEntities, getBaseFillPaint, getBaseItemLabelFont, getBaseItemLabelPaint, getBaseItemLabelsVisible, getBaseNegativeItemLabelPosition, getBaseOutlinePaint, getBaseOutlineStroke, getBasePaint, getBasePositiveItemLabelPosition, getBaseSeriesVisible, getBaseSeriesVisibleInLegend, getBaseShape, getBaseStroke, getCreateEntities, getItemCreateEntity, getItemFillPaint, getItemLabelAnchorOffset, getItemLabelFont, getItemLabelFont, getItemLabelPaint, getItemLabelPaint, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getItemVisible, getNegativeItemLabelPosition, getNegativeItemLabelPosition, getPositiveItemLabelPosition, getPositiveItemLabelPosition, getSeriesCreateEntities, getSeriesFillPaint, getSeriesItemLabelFont, getSeriesItemLabelPaint, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, getSeriesVisible, getSeriesVisible, getSeriesVisibleInLegend, getSeriesVisibleInLegend, hasListener, isItemLabelVisible, isSeriesItemLabelsVisible, isSeriesVisible, isSeriesVisibleInLegend, 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, setBaseNegativeItemLabelPosition, setBaseNegativeItemLabelPosition, setBaseOutlinePaint, setBaseOutlinePaint, setBaseOutlineStroke, setBaseOutlineStroke, setBasePaint, setBasePaint, setBasePositiveItemLabelPosition, setBasePositiveItemLabelPosition, setBaseSeriesVisible, setBaseSeriesVisible, setBaseSeriesVisibleInLegend, setBaseSeriesVisibleInLegend, setBaseShape, setBaseShape, setBaseStroke, setBaseStroke, setCreateEntities, setCreateEntities, setFillPaint, setFillPaint, setItemLabelAnchorOffset, setItemLabelFont, setItemLabelFont, setItemLabelPaint, setItemLabelPaint, setItemLabelsVisible, setItemLabelsVisible, setItemLabelsVisible, 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`

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, getBaseItemLabelFont, getBaseItemLabelPaint, getBaseItemLabelsVisible, getBaseNegativeItemLabelPosition, getBaseOutlinePaint, getBaseOutlineStroke, getBasePaint, getBasePositiveItemLabelPosition, getBaseSeriesVisible, getBaseSeriesVisibleInLegend, getBaseShape, getBaseStroke, getItemLabelFont, getItemLabelFont, getItemLabelPaint, getItemLabelPaint, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getItemVisible, getNegativeItemLabelPosition, getNegativeItemLabelPosition, getPositiveItemLabelPosition, getPositiveItemLabelPosition, getSeriesItemLabelFont, getSeriesItemLabelPaint, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, getSeriesVisible, getSeriesVisible, getSeriesVisibleInLegend, getSeriesVisibleInLegend, isItemLabelVisible, isSeriesItemLabelsVisible, isSeriesVisible, isSeriesVisibleInLegend, removeChangeListener, setBaseItemLabelFont, setBaseItemLabelPaint, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseNegativeItemLabelPosition, setBaseNegativeItemLabelPosition, setBaseOutlinePaint, setBaseOutlineStroke, setBasePaint, setBasePositiveItemLabelPosition, setBasePositiveItemLabelPosition, setBaseSeriesVisible, setBaseSeriesVisible, setBaseSeriesVisibleInLegend, setBaseSeriesVisibleInLegend, setBaseShape, setBaseStroke, setItemLabelFont, setItemLabelPaint, setItemLabelsVisible, setItemLabelsVisible, setItemLabelsVisible, setNegativeItemLabelPosition, setNegativeItemLabelPosition, setOutlinePaint, setOutlineStroke, setPaint, setPositiveItemLabelPosition, setPositiveItemLabelPosition, setSeriesItemLabelFont, setSeriesItemLabelPaint, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesNegativeItemLabelPosition, setSeriesNegativeItemLabelPosition, setSeriesOutlinePaint, setSeriesOutlineStroke, setSeriesPaint, setSeriesPositiveItemLabelPosition, setSeriesPositiveItemLabelPosition, setSeriesShape, setSeriesStroke, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setShape, setStroke`

Constructor Detail

### ScatterRenderer

    public ScatterRenderer()

  Constructs a new renderer.

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 a `RendererChangeEvent` 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 a `BarRenderer`).

  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 a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `margin` - the margin (0.0 <= margin < 1.0).
  See Also:
    `getItemMargin()`, `getUseSeriesOffset()`

### getDrawOutlines

    public boolean getDrawOutlines()

  Returns `true` if outlines should be drawn for shapes, and `false` 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 a `RendererChangeEvent` 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 a `RendererChangeEvent` 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 the `getSeriesShapesFilled` 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 a `RendererChangeEvent` 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 a `RendererChangeEvent` 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 a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `flag` - the flag.

### getUseFillPaint

    public boolean getUseFillPaint()

  Returns `true` if the renderer should use the fill paint setting to fill shapes, and `false` 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 a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `flag` - the flag.

### 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 interface `CategoryItemRenderer`
  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 interface `CategoryItemRenderer`
  Overrides:
    `getLegendItem` in class `AbstractCategoryItemRenderer`
  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 class `AbstractCategoryItemRenderer`
  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 interface `org.jfree.util.PublicCloneable`
  Overrides:
    `clone` in class `AbstractCategoryItemRenderer`
  Returns:
    A clone.
  Throws:
    `java.lang.CloneNotSupportedException` - should not happen.