java.lang.Object
org.jfree.chart.plot.Plot
org.jfree.chart.plot.FastScatterPlot
- All Implemented Interfaces:
Disposable
,Serializable
,Cloneable
,EventListener
,AnnotationChangeListener
,AxisChangeListener
,MarkerChangeListener
,LegendItemSource
,Pannable
,ValueAxisPlot
,Zoomable
,PublicCloneable
,DatasetChangeListener
public class FastScatterPlot
extends Plot
implements ValueAxisPlot, Pannable, Zoomable, Cloneable, Serializable
A fast scatter plot.
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final Paint
The default grid line paint.static final Stroke
The default grid line stroke.protected static ResourceBundle
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
ConstructorDescriptionCreates a new instance ofFastScatterPlot
with default axes.FastScatterPlot
(float[][] data, ValueAxis domainAxis, ValueAxis rangeAxis) Creates a new fast scatter plot. -
Method Summary
Modifier and TypeMethodDescriptionclone()
Returns a clone of the plot.void
dispose()
void
draw
(Graphics2D g2, Rectangle2D area, 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
(Graphics2D g2, Rectangle2D dataArea, List ticks) Draws the gridlines for the plot, if they are visible.protected void
drawRangeGridlines
(Graphics2D g2, Rectangle2D dataArea, List ticks) Draws the gridlines for the plot, if they are visible.boolean
Tests an arbitrary object for equality with this plot.float[][]
getData()
Returns the data array used by the plot.getDataRange
(ValueAxis axis) Returns the range of data values to be plotted along the axis, ornull
if the specified axis isn't the domain axis or the range axis for the plot.Returns the domain axis for the plot.Returns the paint for the grid lines (if any) plotted against the domain axis.Returns the stroke for the grid-lines (if any) plotted against the domain axis.Returns the orientation of the plot.getPaint()
Returns the paint used to plot data points.Returns a short string describing the plot type.Returns the range axis for the plot.Returns the paint for the grid lines (if any) plotted against the range axis.Returns the stroke for the grid lines (if any) plotted against the range axis.boolean
Returnstrue
if the domain gridlines are visible, andfalse
otherwise.boolean
Returnstrue
if panning is enabled for the domain axes, andfalse
otherwise.boolean
Returnstrue
.boolean
Returnstrue
if the range axis grid is visible, andfalse
otherwise.boolean
Returnstrue
if panning is enabled for the range axes, andfalse
otherwise.boolean
Returnstrue
.void
panDomainAxes
(double percent, PlotRenderingInfo info, Point2D source) Pans the domain axes by the specified percentage.void
panRangeAxes
(double percent, PlotRenderingInfo info, Point2D source) Pans the range axes by the specified percentage.void
render
(Graphics2D g2, 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 aPlotChangeEvent
to all registered listeners.void
setDomainAxis
(ValueAxis axis) Sets the domain axis and sends aPlotChangeEvent
to all registered listeners.void
setDomainGridlinePaint
(Paint paint) Sets the paint for the grid lines plotted against the domain axis and sends aPlotChangeEvent
to all registered listeners.void
setDomainGridlineStroke
(Stroke stroke) Sets the stroke for the grid lines plotted against the domain axis and sends aPlotChangeEvent
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
Sets the color for the data points and sends aPlotChangeEvent
to all registered listeners.void
setRangeAxis
(ValueAxis axis) Sets the range axis and sends aPlotChangeEvent
to all registered listeners.void
setRangeGridlinePaint
(Paint paint) Sets the paint for the grid lines plotted against the range axis and sends aPlotChangeEvent
to all registered listeners.void
setRangeGridlineStroke
(Stroke stroke) Sets the stroke for the grid lines plotted against the range axis and sends aPlotChangeEvent
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, Point2D source) Zooms in on the domain axes.void
zoomDomainAxes
(double factor, PlotRenderingInfo info, Point2D source) Multiplies the range on the domain axis by the specified factor.void
zoomDomainAxes
(double factor, PlotRenderingInfo info, Point2D source, boolean useAnchor) Multiplies the range on the domain axis by the specified factor.void
zoomRangeAxes
(double lowerPercent, double upperPercent, PlotRenderingInfo info, Point2D source) Zooms in on the range axes.void
zoomRangeAxes
(double factor, PlotRenderingInfo info, Point2D source) Multiplies the range on the range axis/axes by the specified factor.void
zoomRangeAxes
(double factor, PlotRenderingInfo info, 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, fetchElementHintingFlag, fillBackground, fillBackground, fireChangeEvent, getBackgroundAlpha, getBackgroundImage, getBackgroundImageAlignment, getBackgroundImageAlpha, getBackgroundPaint, getChart, 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, setChart, setDatasetGroup, setDrawingSupplier, setDrawingSupplier, setForegroundAlpha, setInsets, setInsets, setNoDataMessage, setNoDataMessageFont, setNoDataMessagePaint, setNotify, setOutlinePaint, setOutlineStroke, setOutlineVisible, setParent, zoom
-
Field Details
-
DEFAULT_GRIDLINE_STROKE
The default grid line stroke. -
DEFAULT_GRIDLINE_PAINT
The default grid line paint. -
localizationResources
The resourceBundle for the localization.
-
-
Constructor Details
-
FastScatterPlot
public FastScatterPlot()Creates a new instance ofFastScatterPlot
with default axes. -
FastScatterPlot
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 Details
-
getPlotType
Returns a short string describing the plot type.- Specified by:
getPlotType
in classPlot
- 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
public void setData(float[][] data) Sets the data array used by the plot and sends aPlotChangeEvent
to all registered listeners.- Parameters:
data
- the data array (null
permitted).- See Also:
-
getOrientation
Returns the orientation of the plot.- Specified by:
getOrientation
in interfacePannable
- Specified by:
getOrientation
in interfaceZoomable
- Returns:
- The orientation (always
PlotOrientation.VERTICAL
).
-
getDomainAxis
Returns the domain axis for the plot.- Returns:
- The domain axis (never
null
). - See Also:
-
setDomainAxis
Sets the domain axis and sends aPlotChangeEvent
to all registered listeners.- Parameters:
axis
- the axis (null
not permitted).- See Also:
-
getRangeAxis
Returns the range axis for the plot.- Returns:
- The range axis (never
null
). - See Also:
-
setRangeAxis
Sets the range axis and sends aPlotChangeEvent
to all registered listeners.- Parameters:
axis
- the axis (null
not permitted).- See Also:
-
getPaint
Returns the paint used to plot data points. The default isColor.RED
.- Returns:
- The paint.
- See Also:
-
setPaint
Sets the color for the data points and sends aPlotChangeEvent
to all registered listeners.- Parameters:
paint
- the paint (null
not permitted).- See Also:
-
isDomainGridlinesVisible
public boolean isDomainGridlinesVisible()Returnstrue
if the domain gridlines are visible, andfalse
otherwise.- Returns:
true
orfalse
.- See Also:
-
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, aPlotChangeEvent
is sent to all registered listeners.- Parameters:
visible
- the new value of the flag.- See Also:
-
getDomainGridlineStroke
Returns the stroke for the grid-lines (if any) plotted against the domain axis.- Returns:
- The stroke (never
null
). - See Also:
-
setDomainGridlineStroke
Sets the stroke for the grid lines plotted against the domain axis and sends aPlotChangeEvent
to all registered listeners.- Parameters:
stroke
- the stroke (null
not permitted).- See Also:
-
getDomainGridlinePaint
Returns the paint for the grid lines (if any) plotted against the domain axis.- Returns:
- The paint (never
null
). - See Also:
-
setDomainGridlinePaint
Sets the paint for the grid lines plotted against the domain axis and sends aPlotChangeEvent
to all registered listeners.- Parameters:
paint
- the paint (null
not permitted).- See Also:
-
isRangeGridlinesVisible
public boolean isRangeGridlinesVisible()Returnstrue
if the range axis grid is visible, andfalse
otherwise.- Returns:
true
orfalse
.- See Also:
-
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, aPlotChangeEvent
is sent to all registered listeners.- Parameters:
visible
- the new value of the flag.- See Also:
-
getRangeGridlineStroke
Returns the stroke for the grid lines (if any) plotted against the range axis.- Returns:
- The stroke (never
null
). - See Also:
-
setRangeGridlineStroke
Sets the stroke for the grid lines plotted against the range axis and sends aPlotChangeEvent
to all registered listeners.- Parameters:
stroke
- the stroke (null
permitted).- See Also:
-
getRangeGridlinePaint
Returns the paint for the grid lines (if any) plotted against the range axis.- Returns:
- The paint (never
null
). - See Also:
-
setRangeGridlinePaint
Sets the paint for the grid lines plotted against the range axis and sends aPlotChangeEvent
to all registered listeners.- Parameters:
paint
- the paint (null
not permitted).- See Also:
-
draw
public void draw(Graphics2D g2, Rectangle2D area, 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 classPlot
- 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(Graphics2D g2, Rectangle2D dataArea, PlotRenderingInfo info, CrosshairState crosshairState) Draws a representation of the data within the dataArea region. Theinfo
andcrosshairState
arguments may benull
.- 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
Draws the gridlines for the plot, if they are visible.- Parameters:
g2
- the graphics device.dataArea
- the data area.ticks
- the ticks.
-
drawRangeGridlines
Draws the gridlines for the plot, if they are visible.- Parameters:
g2
- the graphics device.dataArea
- the data area.ticks
- the ticks.
-
getDataRange
Returns the range of data values to be plotted along the axis, ornull
if the specified axis isn't the domain axis or the range axis for the plot.- Specified by:
getDataRange
in interfaceValueAxisPlot
- Parameters:
axis
- the axis (null
permitted).- Returns:
- The range (possibly
null
).
-
zoomDomainAxes
Multiplies the range on the domain axis by the specified factor.- Specified by:
zoomDomainAxes
in interfaceZoomable
- Parameters:
factor
- the zoom factor.info
- the plot rendering info.source
- the source point.- See Also:
-
zoomDomainAxes
public void zoomDomainAxes(double factor, PlotRenderingInfo info, Point2D source, boolean useAnchor) Multiplies the range on the domain axis by the specified factor.- Specified by:
zoomDomainAxes
in interfaceZoomable
- Parameters:
factor
- the zoom factor.info
- the plot rendering info.source
- the source point (in Java2D space).useAnchor
- use source point as zoom anchor?- See Also:
-
zoomDomainAxes
public void zoomDomainAxes(double lowerPercent, double upperPercent, PlotRenderingInfo info, Point2D source) Zooms in on the domain axes.- Specified by:
zoomDomainAxes
in interfaceZoomable
- 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:
-
zoomRangeAxes
Multiplies the range on the range axis/axes by the specified factor.- Specified by:
zoomRangeAxes
in interfaceZoomable
- Parameters:
factor
- the zoom factor.info
- the plot rendering info.source
- the source point.- See Also:
-
zoomRangeAxes
Multiplies the range on the range axis by the specified factor.- Specified by:
zoomRangeAxes
in interfaceZoomable
- Parameters:
factor
- the zoom factor.info
- the plot rendering info.source
- the source point (in Java2D space).useAnchor
- use source point as zoom anchor?- See Also:
-
zoomRangeAxes
public void zoomRangeAxes(double lowerPercent, double upperPercent, PlotRenderingInfo info, Point2D source) Zooms in on the range axes.- Specified by:
zoomRangeAxes
in interfaceZoomable
- 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:
-
isDomainZoomable
public boolean isDomainZoomable()Returnstrue
.- Specified by:
isDomainZoomable
in interfaceZoomable
- Returns:
- A boolean.
- See Also:
-
isRangeZoomable
public boolean isRangeZoomable()Returnstrue
.- Specified by:
isRangeZoomable
in interfaceZoomable
- Returns:
- A boolean.
- See Also:
-
isDomainPannable
public boolean isDomainPannable()Returnstrue
if panning is enabled for the domain axes, andfalse
otherwise.- Specified by:
isDomainPannable
in interfacePannable
- Returns:
- A boolean.
-
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.
-
isRangePannable
public boolean isRangePannable()Returnstrue
if panning is enabled for the range axes, andfalse
otherwise.- Specified by:
isRangePannable
in interfacePannable
- Returns:
- A boolean.
-
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.
-
panDomainAxes
Pans the domain axes by the specified percentage.- Specified by:
panDomainAxes
in interfacePannable
- Parameters:
percent
- the distance to pan (as a percentage of the axis length).info
- the plot infosource
- the source point where the pan action started.
-
panRangeAxes
Pans the range axes by the specified percentage.- Specified by:
panRangeAxes
in interfacePannable
- Parameters:
percent
- the distance to pan (as a percentage of the axis length).info
- the plot infosource
- the source point where the pan action started.
-
equals
Tests an arbitrary object for equality with this plot. Note thatFastScatterPlot
carries its data around with it (rather than referencing a dataset), and the data is included in the equality test. -
clone
Returns a clone of the plot.- Specified by:
clone
in interfacePublicCloneable
- Overrides:
clone
in classPlot
- Returns:
- A clone.
- Throws:
CloneNotSupportedException
- if some component of the plot does not support cloning.
-
dispose
public void dispose()- Specified by:
dispose
in interfaceDisposable
-