Module platform

Class ScatterRenderer

All Implemented Interfaces:
Serializable, Cloneable, LegendItemSource, CategoryItemRenderer, PublicCloneable

public class ScatterRenderer extends AbstractCategoryItemRenderer implements Cloneable, PublicCloneable, 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. The example shown here is generated by the ScatterRendererDemo1.java program included in the JFreeChart Demo Collection:

ScatterRendererSample.png
See Also:
  • Constructor Details

    • ScatterRenderer

      public ScatterRenderer()
      Constructs a new renderer.
  • Method Details

    • 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 a RendererChangeEvent 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 a BarRenderer).
      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 a RendererChangeEvent to all registered listeners.
      Parameters:
      margin - the margin (0.0 <= margin < 1.0).
      See Also:
    • getDrawOutlines

      public boolean getDrawOutlines()
      Returns true if outlines should be drawn for shapes, and false 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 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:
    • 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 a RendererChangeEvent 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 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, 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.
    • 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 interface CategoryItemRenderer
      Overrides:
      findRangeBounds in class AbstractCategoryItemRenderer
      Parameters:
      dataset - the dataset (null permitted).
      Returns:
      The range (or null if the dataset is null or empty).
    • 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 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:
    • equals

      public boolean equals(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 Object clone() throws CloneNotSupportedException
      Returns an independent copy of the renderer.
      Specified by:
      clone in interface PublicCloneable
      Overrides:
      clone in class AbstractCategoryItemRenderer
      Returns:
      A clone.
      Throws:
      CloneNotSupportedException - should not happen.