Package org.jfree.chart.plot
Class FastScatterPlot
java.lang.Object
org.jfree.chart.plot.Plot
org.jfree.chart.plot.FastScatterPlot
- All Implemented Interfaces:
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
FieldsModifier and TypeFieldDescriptionstatic final PaintThe default grid line paint.static final StrokeThe default grid line stroke.protected static ResourceBundleThe 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
ConstructorsConstructorDescriptionCreates a new instance ofFastScatterPlotwith 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.voiddraw(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 voiddrawDomainGridlines(Graphics2D g2, Rectangle2D dataArea, List ticks) Draws the gridlines for the plot, if they are visible.protected voiddrawRangeGridlines(Graphics2D g2, Rectangle2D dataArea, List ticks) Draws the gridlines for the plot, if they are visible.booleanTests 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, ornullif 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.booleanReturnstrueif the domain gridlines are visible, andfalseotherwise.booleanReturnstrueif panning is enabled for the domain axes, andfalseotherwise.booleanReturnstrue.booleanReturnstrueif the range axis grid is visible, andfalseotherwise.booleanReturnstrueif panning is enabled for the range axes, andfalseotherwise.booleanReturnstrue.voidpanDomainAxes(double percent, PlotRenderingInfo info, Point2D source) Pans the domain axes by the specified percentage.voidpanRangeAxes(double percent, PlotRenderingInfo info, Point2D source) Pans the range axes by the specified percentage.voidrender(Graphics2D g2, Rectangle2D dataArea, PlotRenderingInfo info, CrosshairState crosshairState) Draws a representation of the data within the dataArea region.voidsetData(float[][] data) Sets the data array used by the plot and sends aPlotChangeEventto all registered listeners.voidsetDomainAxis(ValueAxis axis) Sets the domain axis and sends aPlotChangeEventto all registered listeners.voidsetDomainGridlinePaint(Paint paint) Sets the paint for the grid lines plotted against the domain axis and sends aPlotChangeEventto all registered listeners.voidsetDomainGridlineStroke(Stroke stroke) Sets the stroke for the grid lines plotted against the domain axis and sends aPlotChangeEventto all registered listeners.voidsetDomainGridlinesVisible(boolean visible) Sets the flag that controls whether or not the domain grid-lines are visible.voidsetDomainPannable(boolean pannable) Sets the flag that enables or disables panning of the plot along the domain axes.voidSets the color for the data points and sends aPlotChangeEventto all registered listeners.voidsetRangeAxis(ValueAxis axis) Sets the range axis and sends aPlotChangeEventto all registered listeners.voidsetRangeGridlinePaint(Paint paint) Sets the paint for the grid lines plotted against the range axis and sends aPlotChangeEventto all registered listeners.voidsetRangeGridlineStroke(Stroke stroke) Sets the stroke for the grid lines plotted against the range axis and sends aPlotChangeEventto all registered listeners.voidsetRangeGridlinesVisible(boolean visible) Sets the flag that controls whether or not the range axis grid lines are visible.voidsetRangePannable(boolean pannable) Sets the flag that enables or disables panning of the plot along the range axes.voidzoomDomainAxes(double lowerPercent, double upperPercent, PlotRenderingInfo info, Point2D source) Zooms in on the domain axes.voidzoomDomainAxes(double factor, PlotRenderingInfo info, Point2D source) Multiplies the range on the domain axis by the specified factor.voidzoomDomainAxes(double factor, PlotRenderingInfo info, Point2D source, boolean useAnchor) Multiplies the range on the domain axis by the specified factor.voidzoomRangeAxes(double lowerPercent, double upperPercent, PlotRenderingInfo info, Point2D source) Zooms in on the range axes.voidzoomRangeAxes(double factor, PlotRenderingInfo info, Point2D source) Multiplies the range on the range axis/axes by the specified factor.voidzoomRangeAxes(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, canEqual, 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, hashCode, 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 ofFastScatterPlotwith 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 (nullpermitted).domainAxis- the domain (x) axis (nullnot permitted).rangeAxis- the range (y) axis (nullnot permitted).
-
-
Method Details
-
getPlotType
Returns a short string describing the plot type.- Specified by:
getPlotTypein classPlot- Returns:
- A short string describing the plot type.
-
getData
Returns the data array used by the plot.- Returns:
- The data array (possibly
null). - See Also:
-
setData
Sets the data array used by the plot and sends aPlotChangeEventto all registered listeners.- Parameters:
data- the data array (nullpermitted).- See Also:
-
getOrientation
Returns the orientation of the plot.- Specified by:
getOrientationin interfacePannable- Specified by:
getOrientationin 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 aPlotChangeEventto all registered listeners.- Parameters:
axis- the axis (nullnot 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 aPlotChangeEventto all registered listeners.- Parameters:
axis- the axis (nullnot 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 aPlotChangeEventto all registered listeners.- Parameters:
paint- the paint (nullnot permitted).- See Also:
-
isDomainGridlinesVisible
Returnstrueif the domain gridlines are visible, andfalseotherwise.- Returns:
trueorfalse.- See Also:
-
setDomainGridlinesVisible
Sets the flag that controls whether or not the domain grid-lines are visible. If the flag value is changed, aPlotChangeEventis 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 aPlotChangeEventto all registered listeners.- Parameters:
stroke- the stroke (nullnot 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 aPlotChangeEventto all registered listeners.- Parameters:
paint- the paint (nullnot permitted).- See Also:
-
isRangeGridlinesVisible
Returnstrueif the range axis grid is visible, andfalseotherwise.- Returns:
trueorfalse.- See Also:
-
setRangeGridlinesVisible
Sets the flag that controls whether or not the range axis grid lines are visible. If the flag value is changed, aPlotChangeEventis 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 aPlotChangeEventto all registered listeners.- Parameters:
stroke- the stroke (nullpermitted).- 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 aPlotChangeEventto all registered listeners.- Parameters:
paint- the paint (nullnot 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:
drawin classPlot- Parameters:
g2- the graphics device.area- the area within which the plot (including axis labels) should be drawn.anchor- the anchor point (nullpermitted).parentState- the state from the parent plot (ignored).info- collects chart drawing information (nullpermitted).
-
render
public void render(Graphics2D g2, Rectangle2D dataArea, PlotRenderingInfo info, CrosshairState crosshairState) Draws a representation of the data within the dataArea region. TheinfoandcrosshairStatearguments 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 (nullpermitted).
-
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, ornullif the specified axis isn't the domain axis or the range axis for the plot.- Specified by:
getDataRangein interfaceValueAxisPlot- Parameters:
axis- the axis (nullpermitted).- Returns:
- The range (possibly
null).
-
zoomDomainAxes
Multiplies the range on the domain axis by the specified factor.- Specified by:
zoomDomainAxesin 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:
zoomDomainAxesin 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:
zoomDomainAxesin 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:
zoomRangeAxesin 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:
zoomRangeAxesin 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:
zoomRangeAxesin 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
Returnstrue.- Specified by:
isDomainZoomablein interfaceZoomable- Returns:
- A boolean.
- See Also:
-
isRangeZoomable
Returnstrue.- Specified by:
isRangeZoomablein interfaceZoomable- Returns:
- A boolean.
- See Also:
-
isDomainPannable
Returnstrueif panning is enabled for the domain axes, andfalseotherwise.- Specified by:
isDomainPannablein interfacePannable- Returns:
- A boolean.
-
setDomainPannable
Sets the flag that enables or disables panning of the plot along the domain axes.- Parameters:
pannable- the new flag value.
-
isRangePannable
Returnstrueif panning is enabled for the range axes, andfalseotherwise.- Specified by:
isRangePannablein interfacePannable- Returns:
- A boolean.
-
setRangePannable
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:
panDomainAxesin 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:
panRangeAxesin 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 thatFastScatterPlotcarries 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:
clonein interfacePublicCloneable- Overrides:
clonein classPlot- Returns:
- A clone.
- Throws:
CloneNotSupportedException- if some component of the plot does not support cloning.
-