org.jfree.chart.plot
Class FastScatterPlot

java.lang.Object
  extended byorg.jfree.chart.plot.Plot
      extended byorg.jfree.chart.plot.FastScatterPlot
All Implemented Interfaces:
AxisChangeListener, AxisConstants, java.lang.Cloneable, DatasetChangeListener, java.util.EventListener, java.io.Serializable, ValueAxisPlot

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

A fast scatter plot.

Author:
David Gilbert
See Also:
Serialized Form

Field Summary
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_OUTLINE_PAINT, DEFAULT_OUTLINE_STROKE, MINIMUM_HEIGHT_TO_DRAW, MINIMUM_WIDTH_TO_DRAW, ZERO
 
Fields inherited from interface org.jfree.chart.axis.AxisConstants
DEFAULT_AXIS_LABEL_FONT, DEFAULT_AXIS_LABEL_INSETS, DEFAULT_AXIS_LABEL_PAINT, DEFAULT_AXIS_LINE_PAINT, DEFAULT_AXIS_LINE_STROKE, DEFAULT_AXIS_VISIBLE, DEFAULT_TICK_LABEL_FONT, DEFAULT_TICK_LABEL_INSETS, DEFAULT_TICK_LABEL_PAINT, DEFAULT_TICK_LABELS_VISIBLE, DEFAULT_TICK_MARK_INSIDE_LENGTH, DEFAULT_TICK_MARK_OUTSIDE_LENGTH, DEFAULT_TICK_MARK_PAINT, DEFAULT_TICK_MARK_STROKE, DEFAULT_TICK_MARKS_VISIBLE
 
Constructor Summary
FastScatterPlot()
          Creates an empty plot.
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 plotArea, PlotState parentState, PlotRenderingInfo info)
          Draws the fast scatter plot on a Java 2D graphics device (such as the screen or a printer).
 boolean equals(java.lang.Object object)
          Tests an object for equality with this instance.
 Range getDataRange(ValueAxis axis)
          Returns the range of data values to be plotted along the axis.
 ValueAxis getDomainAxis()
          Returns the domain axis for 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.
 void render(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, PlotRenderingInfo info, CrosshairInfo crosshairInfo)
          Draws a representation of the data within the dataArea region.
 void setPaint(java.awt.Paint paint)
          Sets the color for the data points.
 void zoomHorizontalAxes(double factor)
          Multiplies the range on the horizontal axis/axes by the specified factor (not yet implemented).
 void zoomHorizontalAxes(double lowerPercent, double upperPercent)
          Zooms in on the horizontal axes (not yet implemented).
 void zoomVerticalAxes(double factor)
          Multiplies the range on the vertical axis/axes by the specified factor (not yet implemented).
 void zoomVerticalAxes(double lowerPercent, double upperPercent)
          Zooms in on the vertical axes (not yet implemented).
 
Methods inherited from class org.jfree.chart.plot.Plot
addChangeListener, axisChanged, datasetChanged, draw, drawBackground, drawNoDataMessage, drawOutline, getBackgroundAlpha, getBackgroundImage, getBackgroundImageAlignment, getBackgroundPaint, getDataAreaRatio, getDatasetGroup, getDrawingSupplier, getForegroundAlpha, getInsets, getLegendItems, getNoDataMessage, getNoDataMessageFont, getNoDataMessagePaint, getOutlinePaint, getOutlineStroke, getParent, getRectX, getRectY, getRootPlot, handleClick, isSubplot, notifyListeners, removeChangeListener, resolveDomainAxisLocation, resolveRangeAxisLocation, setBackgroundAlpha, setBackgroundImage, setBackgroundImageAlignment, setBackgroundPaint, setDataAreaRatio, setDatasetGroup, setDrawingSupplier, setForegroundAlpha, setInsets, setInsets, setNoDataMessage, setNoDataMessageFont, setNoDataMessagePaint, setOutlinePaint, setOutlineStroke, setParent, zoom
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

localizationResources

protected static java.util.ResourceBundle localizationResources
The resourceBundle for the localization.

Constructor Detail

FastScatterPlot

public FastScatterPlot()
Creates an empty plot.


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.
domainAxis - the domain (x) axis.
rangeAxis - the range (y) axis.
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.

getDomainAxis

public ValueAxis getDomainAxis()
Returns the domain axis for the plot. If the domain axis for this plot is null, then the method will return the parent plot's domain axis (if there is a parent plot).

Returns:
the domain axis.

getRangeAxis

public ValueAxis getRangeAxis()
Returns the range axis for the plot. If the range axis for this plot is null, then the method will return the parent plot's range axis (if there is a parent plot).

Returns:
the range axis.

getPaint

public java.awt.Paint getPaint()
Returns the paint used to plot data points.

Returns:
The paint.

setPaint

public void setPaint(java.awt.Paint paint)
Sets the color for the data points.

Parameters:
paint - the paint.

draw

public void draw(java.awt.Graphics2D g2,
                 java.awt.geom.Rectangle2D plotArea,
                 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.
plotArea - the area within which the plot (including axis labels) should be drawn.
parentState - the state from the parent plot, if there is one.
info - collects chart drawing information (null permitted).

render

public void render(java.awt.Graphics2D g2,
                   java.awt.geom.Rectangle2D dataArea,
                   PlotRenderingInfo info,
                   CrosshairInfo crosshairInfo)
Draws a representation of the data within the dataArea region.

The info and crosshairInfo 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.
crosshairInfo - an optional object for collecting crosshair info.

getDataRange

public Range getDataRange(ValueAxis axis)
Returns the range of data values to be plotted along the axis.

Specified by:
getDataRange in interface ValueAxisPlot
Parameters:
axis - the axis.
Returns:
the range.

zoomHorizontalAxes

public void zoomHorizontalAxes(double factor)
Multiplies the range on the horizontal axis/axes by the specified factor (not yet implemented).

Specified by:
zoomHorizontalAxes in interface ValueAxisPlot
Parameters:
factor - the zoom factor.

zoomHorizontalAxes

public void zoomHorizontalAxes(double lowerPercent,
                               double upperPercent)
Zooms in on the horizontal axes (not yet implemented).

Specified by:
zoomHorizontalAxes in interface ValueAxisPlot
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.

zoomVerticalAxes

public void zoomVerticalAxes(double factor)
Multiplies the range on the vertical axis/axes by the specified factor (not yet implemented).

Specified by:
zoomVerticalAxes in interface ValueAxisPlot
Parameters:
factor - the zoom factor.

zoomVerticalAxes

public void zoomVerticalAxes(double lowerPercent,
                             double upperPercent)
Zooms in on the vertical axes (not yet implemented).

Specified by:
zoomVerticalAxes in interface ValueAxisPlot
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.

equals

public boolean equals(java.lang.Object object)
Tests an object for equality with this instance.

Overrides:
equals in class Plot
Parameters:
object - the object to test.
Returns:
A boolean.

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Returns a clone of the plot.

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