org.jfree.chart.plot

## Class FastScatterPlot

- java.lang.Object
- - org.jfree.chart.plot.Plot
  - - org.jfree.chart.plot.FastScatterPlot

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, java.util.EventListener, AnnotationChangeListener, AxisChangeListener, MarkerChangeListener, LegendItemSource, Pannable, ValueAxisPlot, Zoomable, DatasetChangeListener, PublicCloneable

      public class FastScatterPlot
      extends Plot
      implements ValueAxisPlot, Pannable, Zoomable, java.lang.Cloneable, java.io.Serializable

  A fast scatter plot.
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.awt.Paint` | `DEFAULT_GRIDLINE_PAINT` The default grid line paint.
    `static java.awt.Stroke` | `DEFAULT_GRIDLINE_STROKE` The default grid line stroke.
    `protected static java.util.ResourceBundle` | `localizationResources` The resourceBundle for the localization.

    - ### Fields inherited from class org.jfree.chart.plot.Plot

      `DEFAULT_BACKGROUND_ALPHA, DEFAULT_BACKGROUND_PAINT, DEFAULT_FOREGROUND_ALPHA, DEFAULT_INSETS, DEFAULT_LEGEND_ITEM_BOX, DEFAULT_LEGEND_ITEM_CIRCLE, DEFAULT_OUTLINE_PAINT, DEFAULT_OUTLINE_STROKE, MINIMUM_HEIGHT_TO_DRAW, MINIMUM_WIDTH_TO_DRAW, ZERO`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FastScatterPlot()` Creates a new instance of `FastScatterPlot` with default axes.
    `FastScatterPlot(float[][] data, ValueAxis domainAxis, ValueAxis rangeAxis)` Creates a new fast scatter plot.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Object` | `clone()` Returns a clone of the plot.
    `void` | `draw(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area, java.awt.geom.Point2D anchor, PlotState parentState, PlotRenderingInfo info)` Draws the fast scatter plot on a Java 2D graphics device (such as the screen or a printer).
    `protected void` | `drawDomainGridlines(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, java.util.List ticks)` Draws the gridlines for the plot, if they are visible.
    `protected void` | `drawRangeGridlines(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, java.util.List ticks)` Draws the gridlines for the plot, if they are visible.
    `boolean` | `equals(java.lang.Object obj)` Tests an arbitrary object for equality with this plot.
    `float[][]` | `getData()` Returns the data array used by the plot.
    `Range` | `getDataRange(ValueAxis axis)` Returns the range of data values to be plotted along the axis, or `null` if the specified axis isn't the domain axis or the range axis for the plot.
    `ValueAxis` | `getDomainAxis()` Returns the domain axis for the plot.
    `java.awt.Paint` | `getDomainGridlinePaint()` Returns the paint for the grid lines (if any) plotted against the domain axis.
    `java.awt.Stroke` | `getDomainGridlineStroke()` Returns the stroke for the grid-lines (if any) plotted against the domain axis.
    `PlotOrientation` | `getOrientation()` Returns the orientation of the plot.
    `java.awt.Paint` | `getPaint()` Returns the paint used to plot data points.
    `java.lang.String` | `getPlotType()` Returns a short string describing the plot type.
    `ValueAxis` | `getRangeAxis()` Returns the range axis for the plot.
    `java.awt.Paint` | `getRangeGridlinePaint()` Returns the paint for the grid lines (if any) plotted against the range axis.
    `java.awt.Stroke` | `getRangeGridlineStroke()` Returns the stroke for the grid lines (if any) plotted against the range axis.
    `boolean` | `isDomainGridlinesVisible()` Returns `true` if the domain gridlines are visible, and `false` otherwise.
    `boolean` | `isDomainPannable()` Returns `true` if panning is enabled for the domain axes, and `false` otherwise.
    `boolean` | `isDomainZoomable()` Returns `true`.
    `boolean` | `isRangeGridlinesVisible()` Returns `true` if the range axis grid is visible, and `false` otherwise.
    `boolean` | `isRangePannable()` Returns `true` if panning is enabled for the range axes, and `false` otherwise.
    `boolean` | `isRangeZoomable()` Returns `true`.
    `void` | `panDomainAxes(double percent, PlotRenderingInfo info, java.awt.geom.Point2D source)` Pans the domain axes by the specified percentage.
    `void` | `panRangeAxes(double percent, PlotRenderingInfo info, java.awt.geom.Point2D source)` Pans the range axes by the specified percentage.
    `void` | `render(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, PlotRenderingInfo info, CrosshairState crosshairState)` Draws a representation of the data within the dataArea region.
    `void` | `setData(float[][] data)` Sets the data array used by the plot and sends a `PlotChangeEvent` to all registered listeners.
    `void` | `setDomainAxis(ValueAxis axis)` Sets the domain axis and sends a `PlotChangeEvent` to all registered listeners.
    `void` | `setDomainGridlinePaint(java.awt.Paint paint)` Sets the paint for the grid lines plotted against the domain axis and sends a `PlotChangeEvent` to all registered listeners.
    `void` | `setDomainGridlineStroke(java.awt.Stroke stroke)` Sets the stroke for the grid lines plotted against the domain axis and sends a `PlotChangeEvent` to all registered listeners.
    `void` | `setDomainGridlinesVisible(boolean visible)` Sets the flag that controls whether or not the domain grid-lines are visible.
    `void` | `setDomainPannable(boolean pannable)` Sets the flag that enables or disables panning of the plot along the domain axes.
    `void` | `setPaint(java.awt.Paint paint)` Sets the color for the data points and sends a `PlotChangeEvent` to all registered listeners.
    `void` | `setRangeAxis(ValueAxis axis)` Sets the range axis and sends a `PlotChangeEvent` to all registered listeners.
    `void` | `setRangeGridlinePaint(java.awt.Paint paint)` Sets the paint for the grid lines plotted against the range axis and sends a `PlotChangeEvent` to all registered listeners.
    `void` | `setRangeGridlineStroke(java.awt.Stroke stroke)` Sets the stroke for the grid lines plotted against the range axis and sends a `PlotChangeEvent` to all registered listeners.
    `void` | `setRangeGridlinesVisible(boolean visible)` Sets the flag that controls whether or not the range axis grid lines are visible.
    `void` | `setRangePannable(boolean pannable)` Sets the flag that enables or disables panning of the plot along the range axes.
    `void` | `zoomDomainAxes(double lowerPercent, double upperPercent, PlotRenderingInfo info, java.awt.geom.Point2D source)` Zooms in on the domain axes.
    `void` | `zoomDomainAxes(double factor, PlotRenderingInfo info, java.awt.geom.Point2D source)` Multiplies the range on the domain axis by the specified factor.
    `void` | `zoomDomainAxes(double factor, PlotRenderingInfo info, java.awt.geom.Point2D source, boolean useAnchor)` Multiplies the range on the domain axis by the specified factor.
    `void` | `zoomRangeAxes(double lowerPercent, double upperPercent, PlotRenderingInfo info, java.awt.geom.Point2D source)` Zooms in on the range axes.
    `void` | `zoomRangeAxes(double factor, PlotRenderingInfo info, java.awt.geom.Point2D source)` Multiplies the range on the range axis/axes by the specified factor.
    `void` | `zoomRangeAxes(double factor, PlotRenderingInfo info, java.awt.geom.Point2D source, boolean useAnchor)` Multiplies the range on the range axis by the specified factor.

    - ### Methods inherited from class org.jfree.chart.plot.Plot

      `addChangeListener, annotationChanged, axisChanged, createAndAddEntity, datasetChanged, drawBackground, drawBackgroundImage, drawNoDataMessage, drawOutline, fillBackground, fillBackground, fireChangeEvent, getBackgroundAlpha, getBackgroundImage, getBackgroundImageAlignment, getBackgroundImageAlpha, getBackgroundPaint, getDatasetGroup, getDrawingSupplier, getForegroundAlpha, getInsets, getLegendItems, getNoDataMessage, getNoDataMessageFont, getNoDataMessagePaint, getOutlinePaint, getOutlineStroke, getParent, getRectX, getRectY, getRootPlot, handleClick, isNotify, isOutlineVisible, isSubplot, markerChanged, notifyListeners, removeChangeListener, resolveDomainAxisLocation, resolveRangeAxisLocation, setBackgroundAlpha, setBackgroundImage, setBackgroundImageAlignment, setBackgroundImageAlpha, setBackgroundPaint, setDatasetGroup, setDrawingSupplier, setDrawingSupplier, setForegroundAlpha, setInsets, setInsets, setNoDataMessage, setNoDataMessageFont, setNoDataMessagePaint, setNotify, setOutlinePaint, setOutlineStroke, setOutlineVisible, setParent, zoom`

    - ### Methods inherited from class java.lang.Object

      `finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### DEFAULT_GRIDLINE_STROKE

          public static final java.awt.Stroke DEFAULT_GRIDLINE_STROKE

      The default grid line stroke.

    - #### DEFAULT_GRIDLINE_PAINT

          public static final java.awt.Paint DEFAULT_GRIDLINE_PAINT

      The default grid line paint.

    - #### localizationResources

          protected static java.util.ResourceBundle localizationResources

      The resourceBundle for the localization.

  - ### Constructor Detail

    - #### FastScatterPlot

          public FastScatterPlot()

      Creates a new instance of `FastScatterPlot` with default axes.

    - #### FastScatterPlot

          public FastScatterPlot(float[][] data,
                                 ValueAxis domainAxis,
                                 ValueAxis rangeAxis)

      Creates a new fast scatter plot.

      The data is an array of x, y values: data[0][i] = x, data[1][i] = y.

      Parameters:
        `data` - the data (`null` permitted).
        `domainAxis` - the domain (x) axis (`null` not permitted).
        `rangeAxis` - the range (y) axis (`null` not permitted).

  - ### Method Detail

    - #### getPlotType

          public java.lang.String getPlotType()

      Returns a short string describing the plot type.
      Specified by:
        `getPlotType` in class `Plot`
      Returns:
        A short string describing the plot type.

    - #### getData

          public float[][] getData()

      Returns the data array used by the plot.
      Returns:
        The data array (possibly `null`).
      See Also:
        `setData(float[][])`

    - #### setData

          public void setData(float[][] data)

      Sets the data array used by the plot and sends a `PlotChangeEvent` to all registered listeners.
      Parameters:
        `data` - the data array (`null` permitted).
      See Also:
        `getData()`

    - #### getOrientation

          public PlotOrientation getOrientation()

      Returns the orientation of the plot.
      Specified by:
        `getOrientation` in interface `Pannable`
      Specified by:
        `getOrientation` in interface `Zoomable`
      Returns:
        The orientation (always `PlotOrientation.VERTICAL`).

    - #### getDomainAxis

          public ValueAxis getDomainAxis()

      Returns the domain axis for the plot.
      Returns:
        The domain axis (never `null`).
      See Also:
        `setDomainAxis(ValueAxis)`

    - #### setDomainAxis

          public void setDomainAxis(ValueAxis axis)

      Sets the domain axis and sends a `PlotChangeEvent` to all registered listeners.
      Parameters:
        `axis` - the axis (`null` not permitted).
      Since:
        1.0.3
      See Also:
        `getDomainAxis()`

    - #### getRangeAxis

          public ValueAxis getRangeAxis()

      Returns the range axis for the plot.
      Returns:
        The range axis (never `null`).
      See Also:
        `setRangeAxis(ValueAxis)`

    - #### setRangeAxis

          public void setRangeAxis(ValueAxis axis)

      Sets the range axis and sends a `PlotChangeEvent` to all registered listeners.
      Parameters:
        `axis` - the axis (`null` not permitted).
      Since:
        1.0.3
      See Also:
        `getRangeAxis()`

    - #### getPaint

          public java.awt.Paint getPaint()

      Returns the paint used to plot data points. The default is `Color.red`.
      Returns:
        The paint.
      See Also:
        `setPaint(Paint)`

    - #### setPaint

          public void setPaint(java.awt.Paint paint)

      Sets the color for the data points and sends a `PlotChangeEvent` to all registered listeners.
      Parameters:
        `paint` - the paint (`null` not permitted).
      See Also:
        `getPaint()`

    - #### isDomainGridlinesVisible

          public boolean isDomainGridlinesVisible()

      Returns `true` if the domain gridlines are visible, and `false` otherwise.
      Returns:
        `true` or `false`.
      See Also:
        `setDomainGridlinesVisible(boolean)`, `setDomainGridlinePaint(Paint)`

    - #### setDomainGridlinesVisible

          public void setDomainGridlinesVisible(boolean visible)

      Sets the flag that controls whether or not the domain grid-lines are visible. If the flag value is changed, a `PlotChangeEvent` is sent to all registered listeners.
      Parameters:
        `visible` - the new value of the flag.
      See Also:
        `getDomainGridlinePaint()`

    - #### getDomainGridlineStroke

          public java.awt.Stroke getDomainGridlineStroke()

      Returns the stroke for the grid-lines (if any) plotted against the domain axis.
      Returns:
        The stroke (never `null`).
      See Also:
        `setDomainGridlineStroke(Stroke)`

    - #### setDomainGridlineStroke

          public void setDomainGridlineStroke(java.awt.Stroke stroke)

      Sets the stroke for the grid lines plotted against the domain axis and sends a `PlotChangeEvent` to all registered listeners.
      Parameters:
        `stroke` - the stroke (`null` not permitted).
      See Also:
        `getDomainGridlineStroke()`

    - #### getDomainGridlinePaint

          public java.awt.Paint getDomainGridlinePaint()

      Returns the paint for the grid lines (if any) plotted against the domain axis.
      Returns:
        The paint (never `null`).
      See Also:
        `setDomainGridlinePaint(Paint)`

    - #### setDomainGridlinePaint

          public void setDomainGridlinePaint(java.awt.Paint paint)

      Sets the paint for the grid lines plotted against the domain axis and sends a `PlotChangeEvent` to all registered listeners.
      Parameters:
        `paint` - the paint (`null` not permitted).
      See Also:
        `getDomainGridlinePaint()`

    - #### isRangeGridlinesVisible

          public boolean isRangeGridlinesVisible()

      Returns `true` if the range axis grid is visible, and `false` otherwise.
      Returns:
        `true` or `false`.
      See Also:
        `setRangeGridlinesVisible(boolean)`

    - #### setRangeGridlinesVisible

          public void setRangeGridlinesVisible(boolean visible)

      Sets the flag that controls whether or not the range axis grid lines are visible. If the flag value is changed, a `PlotChangeEvent` is sent to all registered listeners.
      Parameters:
        `visible` - the new value of the flag.
      See Also:
        `isRangeGridlinesVisible()`

    - #### getRangeGridlineStroke

          public java.awt.Stroke getRangeGridlineStroke()

      Returns the stroke for the grid lines (if any) plotted against the range axis.
      Returns:
        The stroke (never `null`).
      See Also:
        `setRangeGridlineStroke(Stroke)`

    - #### setRangeGridlineStroke

          public void setRangeGridlineStroke(java.awt.Stroke stroke)

      Sets the stroke for the grid lines plotted against the range axis and sends a `PlotChangeEvent` to all registered listeners.
      Parameters:
        `stroke` - the stroke (`null` permitted).
      See Also:
        `getRangeGridlineStroke()`

    - #### getRangeGridlinePaint

          public java.awt.Paint getRangeGridlinePaint()

      Returns the paint for the grid lines (if any) plotted against the range axis.
      Returns:
        The paint (never `null`).
      See Also:
        `setRangeGridlinePaint(Paint)`

    - #### setRangeGridlinePaint

          public void setRangeGridlinePaint(java.awt.Paint paint)

      Sets the paint for the grid lines plotted against the range axis and sends a `PlotChangeEvent` to all registered listeners.
      Parameters:
        `paint` - the paint (`null` not permitted).
      See Also:
        `getRangeGridlinePaint()`

    - #### draw

          public void draw(java.awt.Graphics2D g2,
                           java.awt.geom.Rectangle2D area,
                           java.awt.geom.Point2D anchor,
                           PlotState parentState,
                           PlotRenderingInfo info)

      Draws the fast scatter plot on a Java 2D graphics device (such as the screen or a printer).
      Specified by:
        `draw` in class `Plot`
      Parameters:
        `g2` - the graphics device.
        `area` - the area within which the plot (including axis labels) should be drawn.
        `anchor` - the anchor point (`null` permitted).
        `parentState` - the state from the parent plot (ignored).
        `info` - collects chart drawing information (`null` permitted).

    - #### render

          public void render(java.awt.Graphics2D g2,
                             java.awt.geom.Rectangle2D dataArea,
                             PlotRenderingInfo info,
                             CrosshairState crosshairState)

      Draws a representation of the data within the dataArea region. The `info` and `crosshairState` arguments may be `null`.
      Parameters:
        `g2` - the graphics device.
        `dataArea` - the region in which the data is to be drawn.
        `info` - an optional object for collection dimension information.
        `crosshairState` - collects crosshair information (`null` permitted).

    - #### drawDomainGridlines

          protected void drawDomainGridlines(java.awt.Graphics2D g2,
                                             java.awt.geom.Rectangle2D dataArea,
                                             java.util.List ticks)

      Draws the gridlines for the plot, if they are visible.
      Parameters:
        `g2` - the graphics device.
        `dataArea` - the data area.
        `ticks` - the ticks.

    - #### drawRangeGridlines

          protected void drawRangeGridlines(java.awt.Graphics2D g2,
                                            java.awt.geom.Rectangle2D dataArea,
                                            java.util.List ticks)

      Draws the gridlines for the plot, if they are visible.
      Parameters:
        `g2` - the graphics device.
        `dataArea` - the data area.
        `ticks` - the ticks.

    - #### getDataRange

          public Range getDataRange(ValueAxis axis)

      Returns the range of data values to be plotted along the axis, or `null` if the specified axis isn't the domain axis or the range axis for the plot.
      Specified by:
        `getDataRange` in interface `ValueAxisPlot`
      Parameters:
        `axis` - the axis (`null` permitted).
      Returns:
        The range (possibly `null`).

    - #### zoomDomainAxes

          public void zoomDomainAxes(double factor,
                                     PlotRenderingInfo info,
                                     java.awt.geom.Point2D source)

      Multiplies the range on the domain axis by the specified factor.
      Specified by:
        `zoomDomainAxes` in interface `Zoomable`
      Parameters:
        `factor` - the zoom factor.
        `info` - the plot rendering info.
        `source` - the source point.
      See Also:
        `Zoomable.zoomRangeAxes(double, PlotRenderingInfo, Point2D)`

    - #### zoomDomainAxes

          public void zoomDomainAxes(double factor,
                                     PlotRenderingInfo info,
                                     java.awt.geom.Point2D source,
                                     boolean useAnchor)

      Multiplies the range on the domain axis by the specified factor.
      Specified by:
        `zoomDomainAxes` in interface `Zoomable`
      Parameters:
        `factor` - the zoom factor.
        `info` - the plot rendering info.
        `source` - the source point (in Java2D space).
        `useAnchor` - use source point as zoom anchor?
      Since:
        1.0.7
      See Also:
        `zoomRangeAxes(double, PlotRenderingInfo, Point2D, boolean)`

    - #### zoomDomainAxes

          public void zoomDomainAxes(double lowerPercent,
                                     double upperPercent,
                                     PlotRenderingInfo info,
                                     java.awt.geom.Point2D source)

      Zooms in on the domain axes.
      Specified by:
        `zoomDomainAxes` in interface `Zoomable`
      Parameters:
        `lowerPercent` - the new lower bound as a percentage of the current range.
        `upperPercent` - the new upper bound as a percentage of the current range.
        `info` - the plot rendering info.
        `source` - the source point.
      See Also:
        `Zoomable.zoomRangeAxes(double, double, PlotRenderingInfo, Point2D)`

    - #### zoomRangeAxes

          public void zoomRangeAxes(double factor,
                                    PlotRenderingInfo info,
                                    java.awt.geom.Point2D source)

      Multiplies the range on the range axis/axes by the specified factor.
      Specified by:
        `zoomRangeAxes` in interface `Zoomable`
      Parameters:
        `factor` - the zoom factor.
        `info` - the plot rendering info.
        `source` - the source point.
      See Also:
        `Zoomable.zoomDomainAxes(double, PlotRenderingInfo, Point2D)`

    - #### zoomRangeAxes

          public void zoomRangeAxes(double factor,
                                    PlotRenderingInfo info,
                                    java.awt.geom.Point2D source,
                                    boolean useAnchor)

      Multiplies the range on the range axis by the specified factor.
      Specified by:
        `zoomRangeAxes` in interface `Zoomable`
      Parameters:
        `factor` - the zoom factor.
        `info` - the plot rendering info.
        `source` - the source point (in Java2D space).
        `useAnchor` - use source point as zoom anchor?
      Since:
        1.0.7
      See Also:
        `zoomDomainAxes(double, PlotRenderingInfo, Point2D, boolean)`

    - #### zoomRangeAxes

          public void zoomRangeAxes(double lowerPercent,
                                    double upperPercent,
                                    PlotRenderingInfo info,
                                    java.awt.geom.Point2D source)

      Zooms in on the range axes.
      Specified by:
        `zoomRangeAxes` in interface `Zoomable`
      Parameters:
        `lowerPercent` - the new lower bound as a percentage of the current range.
        `upperPercent` - the new upper bound as a percentage of the current range.
        `info` - the plot rendering info.
        `source` - the source point.
      See Also:
        `Zoomable.zoomDomainAxes(double, double, PlotRenderingInfo, Point2D)`

    - #### isDomainZoomable

          public boolean isDomainZoomable()

      Returns `true`.
      Specified by:
        `isDomainZoomable` in interface `Zoomable`
      Returns:
        A boolean.
      See Also:
        `Zoomable.isRangeZoomable()`

    - #### isRangeZoomable

          public boolean isRangeZoomable()

      Returns `true`.
      Specified by:
        `isRangeZoomable` in interface `Zoomable`
      Returns:
        A boolean.
      See Also:
        `Zoomable.isDomainZoomable()`

    - #### isDomainPannable

          public boolean isDomainPannable()

      Returns `true` if panning is enabled for the domain axes, and `false` otherwise.
      Specified by:
        `isDomainPannable` in interface `Pannable`
      Returns:
        A boolean.
      Since:
        1.0.13

    - #### setDomainPannable

          public void setDomainPannable(boolean pannable)

      Sets the flag that enables or disables panning of the plot along the domain axes.
      Parameters:
        `pannable` - the new flag value.
      Since:
        1.0.13

    - #### isRangePannable

          public boolean isRangePannable()

      Returns `true` if panning is enabled for the range axes, and `false` otherwise.
      Specified by:
        `isRangePannable` in interface `Pannable`
      Returns:
        A boolean.
      Since:
        1.0.13

    - #### setRangePannable

          public void setRangePannable(boolean pannable)

      Sets the flag that enables or disables panning of the plot along the range axes.
      Parameters:
        `pannable` - the new flag value.
      Since:
        1.0.13

    - #### panDomainAxes

          public void panDomainAxes(double percent,
                                    PlotRenderingInfo info,
                                    java.awt.geom.Point2D source)

      Pans the domain axes by the specified percentage.
      Specified by:
        `panDomainAxes` in interface `Pannable`
      Parameters:
        `percent` - the distance to pan (as a percentage of the axis length).
        `info` - the plot info
        `source` - the source point where the pan action started.
      Since:
        1.0.13

    - #### panRangeAxes

          public void panRangeAxes(double percent,
                                   PlotRenderingInfo info,
                                   java.awt.geom.Point2D source)

      Pans the range axes by the specified percentage.
      Specified by:
        `panRangeAxes` in interface `Pannable`
      Parameters:
        `percent` - the distance to pan (as a percentage of the axis length).
        `info` - the plot info
        `source` - the source point where the pan action started.
      Since:
        1.0.13

    - #### equals

          public boolean equals(java.lang.Object obj)

      Tests an arbitrary object for equality with this plot. Note that `FastScatterPlot` carries its data around with it (rather than referencing a dataset), and the data is included in the equality test.
      Overrides:
        `equals` in class `Plot`
      Parameters:
        `obj` - the object (`null` permitted).
      Returns:
        A boolean.

    - #### clone

          public java.lang.Object clone()
                                 throws java.lang.CloneNotSupportedException

      Returns a clone of the plot.
      Specified by:
        `clone` in interface `PublicCloneable`
      Overrides:
        `clone` in class `Plot`
      Returns:
        A clone.
      Throws:
        `java.lang.CloneNotSupportedException` - if some component of the plot does not support cloning.