Header
And More


org.jfree.chart.plot
Class FastScatterPlot

java.lang.Object
  extended by org.jfree.chart.plot.Plot
      extended by org.jfree.chart.plot.FastScatterPlot
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.util.EventListener, AxisChangeListener, MarkerChangeListener, LegendItemSource, Pannable, ValueAxisPlot, Zoomable, DatasetChangeListener, org.jfree.util.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
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
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
 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, 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 org.jfree.util.PublicCloneable
Overrides:
clone in class Plot
Returns:
A clone.
Throws:
java.lang.CloneNotSupportedException - if some component of the plot does not support cloning.

Footer
And More


Copyright © 2000-2009 by Object Refinery Limited. All Rights Reserved.