Header
And More


org.jfree.chart.plot
Class XYPlot

java.lang.Object
  extended by org.jfree.chart.plot.Plot
      extended by org.jfree.chart.plot.XYPlot
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.util.EventListener, AxisChangeListener, MarkerChangeListener, RendererChangeListener, LegendItemSource, Pannable, ValueAxisPlot, Zoomable, DatasetChangeListener, org.jfree.util.PublicCloneable
Direct Known Subclasses:
CombinedDomainXYPlot, CombinedRangeXYPlot

public class XYPlot
extends Plot
implements ValueAxisPlot, Pannable, Zoomable, RendererChangeListener, java.lang.Cloneable, org.jfree.util.PublicCloneable, java.io.Serializable

A general class for plotting data in the form of (x, y) pairs. This plot can use data from any class that implements the XYDataset interface.

XYPlot makes use of an XYItemRenderer to draw each point on the plot. By using different renderers, various chart types can be produced.

The ChartFactory class contains static methods for creating pre-configured charts.

See Also:
Serialized Form

Field Summary
static java.awt.Paint DEFAULT_CROSSHAIR_PAINT
          The default crosshair paint.
static java.awt.Stroke DEFAULT_CROSSHAIR_STROKE
          The default crosshair stroke.
static boolean DEFAULT_CROSSHAIR_VISIBLE
          The default crosshair visibility.
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
XYPlot()
          Creates a new XYPlot instance with no dataset, no axes and no renderer.
XYPlot(XYDataset dataset, ValueAxis domainAxis, ValueAxis rangeAxis, XYItemRenderer renderer)
          Creates a new plot with the specified dataset, axes and renderer.
 
Method Summary
 void addAnnotation(XYAnnotation annotation)
          Adds an annotation to the plot and sends a PlotChangeEvent to all registered listeners.
 void addAnnotation(XYAnnotation annotation, boolean notify)
          Adds an annotation to the plot and, if requested, sends a PlotChangeEvent to all registered listeners.
 void addDomainMarker(int index, Marker marker, org.jfree.ui.Layer layer)
          Adds a marker for a specific dataset/renderer and sends a PlotChangeEvent to all registered listeners.
 void addDomainMarker(int index, Marker marker, org.jfree.ui.Layer layer, boolean notify)
          Adds a marker for a specific dataset/renderer and, if requested, sends a PlotChangeEvent to all registered listeners.
 void addDomainMarker(Marker marker)
          Adds a marker for the domain axis and sends a PlotChangeEvent to all registered listeners.
 void addDomainMarker(Marker marker, org.jfree.ui.Layer layer)
          Adds a marker for the domain axis in the specified layer and sends a PlotChangeEvent to all registered listeners.
 void addRangeMarker(int index, Marker marker, org.jfree.ui.Layer layer)
          Adds a marker for a specific dataset/renderer and sends a PlotChangeEvent to all registered listeners.
 void addRangeMarker(int index, Marker marker, org.jfree.ui.Layer layer, boolean notify)
          Adds a marker for a specific dataset/renderer and, if requested, sends a PlotChangeEvent to all registered listeners.
 void addRangeMarker(Marker marker)
          Adds a marker for the range axis and sends a PlotChangeEvent to all registered listeners.
 void addRangeMarker(Marker marker, org.jfree.ui.Layer layer)
          Adds a marker for the range axis in the specified layer and sends a PlotChangeEvent to all registered listeners.
protected  AxisSpace calculateAxisSpace(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D plotArea)
          Calculates the space required for all the axes in the plot.
protected  AxisSpace calculateDomainAxisSpace(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D plotArea, AxisSpace space)
          Calculates the space required for the domain axis/axes.
protected  AxisSpace calculateRangeAxisSpace(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D plotArea, AxisSpace space)
          Calculates the space required for the range axis/axes.
 void clearAnnotations()
          Clears all the annotations and sends a PlotChangeEvent to all registered listeners.
 void clearDomainAxes()
          Clears the domain axes from the plot and sends a PlotChangeEvent to all registered listeners.
 void clearDomainMarkers()
          Clears all the (foreground and background) domain markers and sends a PlotChangeEvent to all registered listeners.
 void clearDomainMarkers(int index)
          Clears the (foreground and background) domain markers for a particular renderer.
 void clearRangeAxes()
          Clears the range axes from the plot and sends a PlotChangeEvent to all registered listeners.
 void clearRangeMarkers()
          Clears all the range markers and sends a PlotChangeEvent to all registered listeners.
 void clearRangeMarkers(int index)
          Clears the (foreground and background) range markers for a particular renderer.
 java.lang.Object clone()
          Returns a clone of the plot.
 void configureDomainAxes()
          Configures the domain axes.
 void configureRangeAxes()
          Configures the range axes.
 void datasetChanged(DatasetChangeEvent event)
          Receives notification of a change to the plot's dataset.
 void draw(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area, java.awt.geom.Point2D anchor, PlotState parentState, PlotRenderingInfo info)
          Draws the plot within the specified area on a graphics device.
 void drawAnnotations(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, PlotRenderingInfo info)
          Draws the annotations for the plot.
protected  java.util.Map drawAxes(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D plotArea, java.awt.geom.Rectangle2D dataArea, PlotRenderingInfo plotState)
          A utility method for drawing the axes.
 void drawBackground(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area)
          Draws the background for the plot.
protected  void drawDomainCrosshair(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, PlotOrientation orientation, double value, ValueAxis axis, java.awt.Stroke stroke, java.awt.Paint paint)
          Draws a domain crosshair.
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 drawDomainMarkers(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, int index, org.jfree.ui.Layer layer)
          Draws the domain markers (if any) for an axis and layer.
 void drawDomainTickBands(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, java.util.List ticks)
          Draws the domain tick bands, if any.
protected  void drawHorizontalLine(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, double value, java.awt.Stroke stroke, java.awt.Paint paint)
          Utility method for drawing a horizontal line across the data area of the plot.
protected  void drawQuadrants(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area)
          Draws the quadrants.
protected  void drawRangeCrosshair(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, PlotOrientation orientation, double value, ValueAxis axis, java.awt.Stroke stroke, java.awt.Paint paint)
          Draws a range crosshair.
protected  void drawRangeGridlines(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area, java.util.List ticks)
          Draws the gridlines for the plot's primary range axis, if they are visible.
protected  void drawRangeMarkers(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, int index, org.jfree.ui.Layer layer)
          Draws the range markers (if any) for a renderer and layer.
 void drawRangeTickBands(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, java.util.List ticks)
          Draws the range tick bands, if any.
protected  void drawVerticalLine(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, double value, java.awt.Stroke stroke, java.awt.Paint paint)
          Utility method for drawing a vertical line on the data area of the plot.
protected  void drawZeroDomainBaseline(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area)
          Draws a base line across the chart at value zero on the domain axis.
protected  void drawZeroRangeBaseline(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area)
          Draws a base line across the chart at value zero on the range axis.
 boolean equals(java.lang.Object obj)
          Tests this plot for equality with another object.
 java.util.List getAnnotations()
          Returns the list of annotations.
 org.jfree.ui.RectangleInsets getAxisOffset()
          Returns the axis offset.
 Range getDataRange(ValueAxis axis)
          Returns the range for the specified axis.
 XYDataset getDataset()
          Returns the primary dataset for the plot.
 XYDataset getDataset(int index)
          Returns a dataset.
 int getDatasetCount()
          Returns the number of datasets.
 DatasetRenderingOrder getDatasetRenderingOrder()
          Returns the dataset rendering order.
 ValueAxis getDomainAxis()
          Returns the domain axis with index 0.
 ValueAxis getDomainAxis(int index)
          Returns the domain axis with the specified index, or null.
 int getDomainAxisCount()
          Returns the number of domain axes.
 org.jfree.ui.RectangleEdge getDomainAxisEdge()
          Returns the edge for the primary domain axis (taking into account the plot's orientation).
 org.jfree.ui.RectangleEdge getDomainAxisEdge(int index)
          Returns the edge for a domain axis.
 ValueAxis getDomainAxisForDataset(int index)
          Returns the domain axis for a dataset.
 int getDomainAxisIndex(ValueAxis axis)
          Returns the index of the given domain axis.
 AxisLocation getDomainAxisLocation()
          Returns the location of the primary domain axis.
 AxisLocation getDomainAxisLocation(int index)
          Returns the location for a domain axis.
 java.awt.Paint getDomainCrosshairPaint()
          Returns the domain crosshair paint.
 java.awt.Stroke getDomainCrosshairStroke()
          Returns the Stroke used to draw the crosshair (if visible).
 double getDomainCrosshairValue()
          Returns the domain crosshair value.
 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.
 java.util.Collection getDomainMarkers(int index, org.jfree.ui.Layer layer)
          Returns a collection of domain markers for a particular renderer and layer.
 java.util.Collection getDomainMarkers(org.jfree.ui.Layer layer)
          Returns the list of domain markers (read only) for the specified layer.
 java.awt.Paint getDomainMinorGridlinePaint()
          Returns the paint for the minor grid lines (if any) plotted against the domain axis.
 java.awt.Stroke getDomainMinorGridlineStroke()
          Returns the stroke for the minor grid-lines (if any) plotted against the domain axis.
 java.awt.Paint getDomainTickBandPaint()
          Returns the paint used for the domain tick bands.
 java.awt.Paint getDomainZeroBaselinePaint()
          Returns the paint for the zero baseline (if any) plotted against the domain axis.
 java.awt.Stroke getDomainZeroBaselineStroke()
          Returns the stroke used for the zero baseline against the domain axis.
 AxisSpace getFixedDomainAxisSpace()
          Returns the fixed domain axis space.
 LegendItemCollection getFixedLegendItems()
          Returns the fixed legend items, if any.
 AxisSpace getFixedRangeAxisSpace()
          Returns the fixed range axis space.
 int getIndexOf(XYItemRenderer renderer)
          Returns the index of the specified renderer, or -1 if the renderer is not assigned to this plot.
 LegendItemCollection getLegendItems()
          Returns the legend items for the plot.
 PlotOrientation getOrientation()
          Returns the orientation of the plot.
 java.lang.String getPlotType()
          Returns the plot type as a string.
 java.awt.geom.Point2D getQuadrantOrigin()
          Returns the origin for the quadrants that can be displayed on the plot.
 java.awt.Paint getQuadrantPaint(int index)
          Returns the paint used for the specified quadrant.
 ValueAxis getRangeAxis()
          Returns the range axis for the plot.
 ValueAxis getRangeAxis(int index)
          Returns a range axis.
 int getRangeAxisCount()
          Returns the number of range axes.
 org.jfree.ui.RectangleEdge getRangeAxisEdge()
          Returns the edge for the primary range axis.
 org.jfree.ui.RectangleEdge getRangeAxisEdge(int index)
          Returns the edge for a range axis.
 ValueAxis getRangeAxisForDataset(int index)
          Returns the range axis for a dataset.
 int getRangeAxisIndex(ValueAxis axis)
          Returns the index of the given range axis.
 AxisLocation getRangeAxisLocation()
          Returns the location of the primary range axis.
 AxisLocation getRangeAxisLocation(int index)
          Returns the location for a range axis.
 java.awt.Paint getRangeCrosshairPaint()
          Returns the range crosshair paint.
 java.awt.Stroke getRangeCrosshairStroke()
          Returns the stroke used to draw the crosshair (if visible).
 double getRangeCrosshairValue()
          Returns the range crosshair value.
 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.
 java.util.Collection getRangeMarkers(int index, org.jfree.ui.Layer layer)
          Returns a collection of range markers for a particular renderer and layer.
 java.util.Collection getRangeMarkers(org.jfree.ui.Layer layer)
          Returns the list of range markers (read only) for the specified layer.
 java.awt.Paint getRangeMinorGridlinePaint()
          Returns the paint for the minor grid lines (if any) plotted against the range axis.
 java.awt.Stroke getRangeMinorGridlineStroke()
          Returns the stroke for the minor grid lines (if any) plotted against the range axis.
 java.awt.Paint getRangeTickBandPaint()
          Returns the paint used for the range tick bands.
 java.awt.Paint getRangeZeroBaselinePaint()
          Returns the paint for the zero baseline (if any) plotted against the range axis.
 java.awt.Stroke getRangeZeroBaselineStroke()
          Returns the stroke used for the zero baseline against the range axis.
 XYItemRenderer getRenderer()
          Returns the renderer for the primary dataset.
 XYItemRenderer getRenderer(int index)
          Returns the renderer for a dataset, or null.
 int getRendererCount()
          Returns the number of renderer slots for this plot.
 XYItemRenderer getRendererForDataset(XYDataset dataset)
          Returns the renderer for the specified dataset.
 int getSeriesCount()
          Returns the number of series in the primary dataset for this plot.
 SeriesRenderingOrder getSeriesRenderingOrder()
          Returns the series rendering order.
 int getWeight()
          Returns the weight for this plot when it is used as a subplot within a combined plot.
 void handleClick(int x, int y, PlotRenderingInfo info)
          Handles a 'click' on the plot by updating the anchor values.
 int indexOf(XYDataset dataset)
          Returns the index of the specified dataset, or -1 if the dataset does not belong to the plot.
 boolean isDomainCrosshairLockedOnData()
          Returns a flag indicating whether or not the crosshair should "lock-on" to actual data values.
 boolean isDomainCrosshairVisible()
          Returns a flag indicating whether or not the domain crosshair is visible.
 boolean isDomainGridlinesVisible()
          Returns true if the domain gridlines are visible, and false otherwise.
 boolean isDomainMinorGridlinesVisible()
          Returns true if the domain minor gridlines are visible, and false otherwise.
 boolean isDomainPannable()
          Returns true if panning is enabled for the domain axes, and false otherwise.
 boolean isDomainZeroBaselineVisible()
          Returns a flag that controls whether or not a zero baseline is displayed for the domain axis.
 boolean isDomainZoomable()
          Returns true, indicating that the domain axis/axes for this plot are zoomable.
 boolean isRangeCrosshairLockedOnData()
          Returns a flag indicating whether or not the crosshair should "lock-on" to actual data values.
 boolean isRangeCrosshairVisible()
          Returns a flag indicating whether or not the range crosshair is visible.
 boolean isRangeGridlinesVisible()
          Returns true if the range axis grid is visible, and false otherwise.
 boolean isRangeMinorGridlinesVisible()
          Returns true if the range axis minor grid is visible, and false otherwise.
 boolean isRangePannable()
          Returns true if panning is enabled for the range axes, and false otherwise.
 boolean isRangeZeroBaselineVisible()
          Returns a flag that controls whether or not a zero baseline is displayed for the range axis.
 boolean isRangeZoomable()
          Returns true, indicating that the range axis/axes for this plot are zoomable.
 void mapDatasetToDomainAxes(int index, java.util.List axisIndices)
          Maps the specified dataset to the axes in the list.
 void mapDatasetToDomainAxis(int index, int axisIndex)
          Maps a dataset to a particular domain axis.
 void mapDatasetToRangeAxes(int index, java.util.List axisIndices)
          Maps the specified dataset to the axes in the list.
 void mapDatasetToRangeAxis(int index, int axisIndex)
          Maps a dataset to a particular range axis.
 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.
 boolean removeAnnotation(XYAnnotation annotation)
          Removes an annotation from the plot and sends a PlotChangeEvent to all registered listeners.
 boolean removeAnnotation(XYAnnotation annotation, boolean notify)
          Removes an annotation from the plot and sends a PlotChangeEvent to all registered listeners.
 boolean removeDomainMarker(int index, Marker marker, org.jfree.ui.Layer layer)
          Removes a marker for a specific dataset/renderer and sends a PlotChangeEvent to all registered listeners.
 boolean removeDomainMarker(int index, Marker marker, org.jfree.ui.Layer layer, boolean notify)
          Removes a marker for a specific dataset/renderer and, if requested, sends a PlotChangeEvent to all registered listeners.
 boolean removeDomainMarker(Marker marker)
          Removes a marker for the domain axis and sends a PlotChangeEvent to all registered listeners.
 boolean removeDomainMarker(Marker marker, org.jfree.ui.Layer layer)
          Removes a marker for the domain axis in the specified layer and sends a PlotChangeEvent to all registered listeners.
 boolean removeRangeMarker(int index, Marker marker, org.jfree.ui.Layer layer)
          Removes a marker for a specific dataset/renderer and sends a PlotChangeEvent to all registered listeners.
 boolean removeRangeMarker(int index, Marker marker, org.jfree.ui.Layer layer, boolean notify)
          Removes a marker for a specific dataset/renderer and sends a PlotChangeEvent to all registered listeners.
 boolean removeRangeMarker(Marker marker)
          Removes a marker for the range axis and sends a PlotChangeEvent to all registered listeners.
 boolean removeRangeMarker(Marker marker, org.jfree.ui.Layer layer)
          Removes a marker for the range axis in the specified layer and sends a PlotChangeEvent to all registered listeners.
 boolean render(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, int index, PlotRenderingInfo info, CrosshairState crosshairState)
          Draws a representation of the data within the dataArea region, using the current renderer.
 void rendererChanged(RendererChangeEvent event)
          Receives notification of a renderer change event.
 void setAxisOffset(org.jfree.ui.RectangleInsets offset)
          Sets the axis offsets (gap between the data area and the axes) and sends a PlotChangeEvent to all registered listeners.
 void setDataset(int index, XYDataset dataset)
          Sets a dataset for the plot.
 void setDataset(XYDataset dataset)
          Sets the primary dataset for the plot, replacing the existing dataset if there is one.
 void setDatasetRenderingOrder(DatasetRenderingOrder order)
          Sets the rendering order and sends a PlotChangeEvent to all registered listeners.
 void setDomainAxes(ValueAxis[] axes)
          Sets the domain axes for this plot and sends a PlotChangeEvent to all registered listeners.
 void setDomainAxis(int index, ValueAxis axis)
          Sets a domain axis and sends a PlotChangeEvent to all registered listeners.
 void setDomainAxis(int index, ValueAxis axis, boolean notify)
          Sets a domain axis and, if requested, sends a PlotChangeEvent to all registered listeners.
 void setDomainAxis(ValueAxis axis)
          Sets the domain axis for the plot and sends a PlotChangeEvent to all registered listeners.
 void setDomainAxisLocation(AxisLocation location)
          Sets the location of the primary domain axis and sends a PlotChangeEvent to all registered listeners.
 void setDomainAxisLocation(AxisLocation location, boolean notify)
          Sets the location of the domain axis and, if requested, sends a PlotChangeEvent to all registered listeners.
 void setDomainAxisLocation(int index, AxisLocation location)
          Sets the location for a domain axis and sends a PlotChangeEvent to all registered listeners.
 void setDomainAxisLocation(int index, AxisLocation location, boolean notify)
          Sets the axis location for a domain axis and, if requested, sends a PlotChangeEvent to all registered listeners.
 void setDomainCrosshairLockedOnData(boolean flag)
          Sets the flag indicating whether or not the domain crosshair should "lock-on" to actual data values.
 void setDomainCrosshairPaint(java.awt.Paint paint)
          Sets the paint used to draw the crosshairs (if visible) and sends a PlotChangeEvent to all registered listeners.
 void setDomainCrosshairStroke(java.awt.Stroke stroke)
          Sets the Stroke used to draw the crosshairs (if visible) and notifies registered listeners that the axis has been modified.
 void setDomainCrosshairValue(double value)
          Sets the domain crosshair value and sends a PlotChangeEvent to all registered listeners (provided that the domain crosshair is visible).
 void setDomainCrosshairValue(double value, boolean notify)
          Sets the domain crosshair value and, if requested, sends a PlotChangeEvent to all registered listeners (provided that the domain crosshair is visible).
 void setDomainCrosshairVisible(boolean flag)
          Sets the flag indicating whether or not the domain crosshair is visible and, if the flag changes, 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 setDomainMinorGridlinePaint(java.awt.Paint paint)
          Sets the paint for the minor grid lines plotted against the domain axis, and sends a PlotChangeEvent to all registered listeners.
 void setDomainMinorGridlineStroke(java.awt.Stroke stroke)
          Sets the stroke for the minor grid lines plotted against the domain axis, and sends a PlotChangeEvent to all registered listeners.
 void setDomainMinorGridlinesVisible(boolean visible)
          Sets the flag that controls whether or not the domain minor grid-lines are visible.
 void setDomainPannable(boolean pannable)
          Sets the flag that enables or disables panning of the plot along the domain axes.
 void setDomainTickBandPaint(java.awt.Paint paint)
          Sets the paint for the domain tick bands.
 void setDomainZeroBaselinePaint(java.awt.Paint paint)
          Sets the paint for the zero baseline plotted against the domain axis and sends a PlotChangeEvent to all registered listeners.
 void setDomainZeroBaselineStroke(java.awt.Stroke stroke)
          Sets the stroke for the zero baseline for the domain axis, and sends a PlotChangeEvent to all registered listeners.
 void setDomainZeroBaselineVisible(boolean visible)
          Sets the flag that controls whether or not the zero baseline is displayed for the domain axis, and sends a PlotChangeEvent to all registered listeners.
 void setFixedDomainAxisSpace(AxisSpace space)
          Sets the fixed domain axis space and sends a PlotChangeEvent to all registered listeners.
 void setFixedDomainAxisSpace(AxisSpace space, boolean notify)
          Sets the fixed domain axis space and, if requested, sends a PlotChangeEvent to all registered listeners.
 void setFixedLegendItems(LegendItemCollection items)
          Sets the fixed legend items for the plot.
 void setFixedRangeAxisSpace(AxisSpace space)
          Sets the fixed range axis space and sends a PlotChangeEvent to all registered listeners.
 void setFixedRangeAxisSpace(AxisSpace space, boolean notify)
          Sets the fixed range axis space and, if requested, sends a PlotChangeEvent to all registered listeners.
 void setOrientation(PlotOrientation orientation)
          Sets the orientation for the plot and sends a PlotChangeEvent to all registered listeners.
 void setQuadrantOrigin(java.awt.geom.Point2D origin)
          Sets the quadrant origin and sends a PlotChangeEvent to all registered listeners.
 void setQuadrantPaint(int index, java.awt.Paint paint)
          Sets the paint used for the specified quadrant and sends a PlotChangeEvent to all registered listeners.
 void setRangeAxes(ValueAxis[] axes)
          Sets the range axes for this plot and sends a PlotChangeEvent to all registered listeners.
 void setRangeAxis(int index, ValueAxis axis)
          Sets a range axis and sends a PlotChangeEvent to all registered listeners.
 void setRangeAxis(int index, ValueAxis axis, boolean notify)
          Sets a range axis and, if requested, sends a PlotChangeEvent to all registered listeners.
 void setRangeAxis(ValueAxis axis)
          Sets the range axis for the plot and sends a PlotChangeEvent to all registered listeners.
 void setRangeAxisLocation(AxisLocation location)
          Sets the location of the primary range axis and sends a PlotChangeEvent to all registered listeners.
 void setRangeAxisLocation(AxisLocation location, boolean notify)
          Sets the location of the primary range axis and, if requested, sends a PlotChangeEvent to all registered listeners.
 void setRangeAxisLocation(int index, AxisLocation location)
          Sets the location for a range axis and sends a PlotChangeEvent to all registered listeners.
 void setRangeAxisLocation(int index, AxisLocation location, boolean notify)
          Sets the axis location for a domain axis and, if requested, sends a PlotChangeEvent to all registered listeners.
 void setRangeCrosshairLockedOnData(boolean flag)
          Sets the flag indicating whether or not the range crosshair should "lock-on" to actual data values.
 void setRangeCrosshairPaint(java.awt.Paint paint)
          Sets the paint used to color the crosshairs (if visible) and sends a PlotChangeEvent to all registered listeners.
 void setRangeCrosshairStroke(java.awt.Stroke stroke)
          Sets the stroke used to draw the crosshairs (if visible) and sends a PlotChangeEvent to all registered listeners.
 void setRangeCrosshairValue(double value)
          Sets the range crosshair value.
 void setRangeCrosshairValue(double value, boolean notify)
          Sets the range crosshair value and sends a PlotChangeEvent to all registered listeners, but only if the crosshair is visible.
 void setRangeCrosshairVisible(boolean flag)
          Sets the flag indicating whether or not the range crosshair is visible.
 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 setRangeMinorGridlinePaint(java.awt.Paint paint)
          Sets the paint for the minor grid lines plotted against the range axis and sends a PlotChangeEvent to all registered listeners.
 void setRangeMinorGridlineStroke(java.awt.Stroke stroke)
          Sets the stroke for the minor grid lines plotted against the range axis, and sends a PlotChangeEvent to all registered listeners.
 void setRangeMinorGridlinesVisible(boolean visible)
          Sets the flag that controls whether or not the range axis minor grid lines are visible.
 void setRangePannable(boolean pannable)
          Sets the flag that enables or disables panning of the plot along the range axes.
 void setRangeTickBandPaint(java.awt.Paint paint)
          Sets the paint for the range tick bands.
 void setRangeZeroBaselinePaint(java.awt.Paint paint)
          Sets the paint for the zero baseline plotted against the range axis and sends a PlotChangeEvent to all registered listeners.
 void setRangeZeroBaselineStroke(java.awt.Stroke stroke)
          Sets the stroke for the zero baseline for the range axis, and sends a PlotChangeEvent to all registered listeners.
 void setRangeZeroBaselineVisible(boolean visible)
          Sets the flag that controls whether or not the zero baseline is displayed for the range axis, and sends a PlotChangeEvent to all registered listeners.
 void setRenderer(int index, XYItemRenderer renderer)
          Sets a renderer and sends a PlotChangeEvent to all registered listeners.
 void setRenderer(int index, XYItemRenderer renderer, boolean notify)
          Sets a renderer and sends a PlotChangeEvent to all registered listeners.
 void setRenderer(XYItemRenderer renderer)
          Sets the renderer for the primary dataset and sends a PlotChangeEvent to all registered listeners.
 void setRenderers(XYItemRenderer[] renderers)
          Sets the renderers for this plot and sends a PlotChangeEvent to all registered listeners.
 void setSeriesRenderingOrder(SeriesRenderingOrder order)
          Sets the series order and sends a PlotChangeEvent to all registered listeners.
 void setWeight(int weight)
          Sets the weight for the plot and sends a PlotChangeEvent to all registered listeners.
 void zoomDomainAxes(double lowerPercent, double upperPercent, PlotRenderingInfo info, java.awt.geom.Point2D source)
          Zooms in on the domain axis/axes.
 void zoomDomainAxes(double factor, PlotRenderingInfo info, java.awt.geom.Point2D source)
          Multiplies the range on the domain axis/axes by the specified factor.
 void zoomDomainAxes(double factor, PlotRenderingInfo info, java.awt.geom.Point2D source, boolean useAnchor)
          Multiplies the range on the domain axis/axes 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/axes by the specified factor.
 
Methods inherited from class org.jfree.chart.plot.Plot
addChangeListener, axisChanged, createAndAddEntity, drawBackgroundImage, drawNoDataMessage, drawOutline, fillBackground, fillBackground, fireChangeEvent, getBackgroundAlpha, getBackgroundImage, getBackgroundImageAlignment, getBackgroundImageAlpha, getBackgroundPaint, getDatasetGroup, getDrawingSupplier, getForegroundAlpha, getInsets, getNoDataMessage, getNoDataMessageFont, getNoDataMessagePaint, getOutlinePaint, getOutlineStroke, getParent, getRectX, getRectY, getRootPlot, 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.


DEFAULT_CROSSHAIR_VISIBLE

public static final boolean DEFAULT_CROSSHAIR_VISIBLE
The default crosshair visibility.

See Also:
Constant Field Values

DEFAULT_CROSSHAIR_STROKE

public static final java.awt.Stroke DEFAULT_CROSSHAIR_STROKE
The default crosshair stroke.


DEFAULT_CROSSHAIR_PAINT

public static final java.awt.Paint DEFAULT_CROSSHAIR_PAINT
The default crosshair paint.


localizationResources

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

Constructor Detail

XYPlot

public XYPlot()
Creates a new XYPlot instance with no dataset, no axes and no renderer. You should specify these items before using the plot.


XYPlot

public XYPlot(XYDataset dataset,
              ValueAxis domainAxis,
              ValueAxis rangeAxis,
              XYItemRenderer renderer)
Creates a new plot with the specified dataset, axes and renderer. Any of the arguments can be null, but in that case you should take care to specify the value before using the plot (otherwise a NullPointerException may be thrown).

Parameters:
dataset - the dataset (null permitted).
domainAxis - the domain axis (null permitted).
rangeAxis - the range axis (null permitted).
renderer - the renderer (null permitted).
Method Detail

getPlotType

public java.lang.String getPlotType()
Returns the plot type as a string.

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

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 (never null).
See Also:
setOrientation(PlotOrientation)

setOrientation

public void setOrientation(PlotOrientation orientation)
Sets the orientation for the plot and sends a PlotChangeEvent to all registered listeners.

Parameters:
orientation - the orientation (null not allowed).
See Also:
getOrientation()

getAxisOffset

public org.jfree.ui.RectangleInsets getAxisOffset()
Returns the axis offset.

Returns:
The axis offset (never null).
See Also:
setAxisOffset(RectangleInsets)

setAxisOffset

public void setAxisOffset(org.jfree.ui.RectangleInsets offset)
Sets the axis offsets (gap between the data area and the axes) and sends a PlotChangeEvent to all registered listeners.

Parameters:
offset - the offset (null not permitted).
See Also:
getAxisOffset()

getDomainAxis

public ValueAxis getDomainAxis()
Returns the domain axis with index 0. 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 (possibly null).
See Also:
getDomainAxis(int), setDomainAxis(ValueAxis)

getDomainAxis

public ValueAxis getDomainAxis(int index)
Returns the domain axis with the specified index, or null.

Parameters:
index - the axis index.
Returns:
The axis (null possible).
See Also:
setDomainAxis(int, ValueAxis)

setDomainAxis

public void setDomainAxis(ValueAxis axis)
Sets the domain axis for the plot and sends a PlotChangeEvent to all registered listeners.

Parameters:
axis - the new axis (null permitted).
See Also:
getDomainAxis(), setDomainAxis(int, ValueAxis)

setDomainAxis

public void setDomainAxis(int index,
                          ValueAxis axis)
Sets a domain axis and sends a PlotChangeEvent to all registered listeners.

Parameters:
index - the axis index.
axis - the axis (null permitted).
See Also:
getDomainAxis(int), setRangeAxis(int, ValueAxis)

setDomainAxis

public void setDomainAxis(int index,
                          ValueAxis axis,
                          boolean notify)
Sets a domain axis and, if requested, sends a PlotChangeEvent to all registered listeners.

Parameters:
index - the axis index.
axis - the axis.
notify - notify listeners?
See Also:
getDomainAxis(int)

setDomainAxes

public void setDomainAxes(ValueAxis[] axes)
Sets the domain axes for this plot and sends a PlotChangeEvent to all registered listeners.

Parameters:
axes - the axes (null not permitted).
See Also:
setRangeAxes(ValueAxis[])

getDomainAxisLocation

public AxisLocation getDomainAxisLocation()
Returns the location of the primary domain axis.

Returns:
The location (never null).
See Also:
setDomainAxisLocation(AxisLocation)

setDomainAxisLocation

public void setDomainAxisLocation(AxisLocation location)
Sets the location of the primary domain axis and sends a PlotChangeEvent to all registered listeners.

Parameters:
location - the location (null not permitted).
See Also:
getDomainAxisLocation()

setDomainAxisLocation

public void setDomainAxisLocation(AxisLocation location,
                                  boolean notify)
Sets the location of the domain axis and, if requested, sends a PlotChangeEvent to all registered listeners.

Parameters:
location - the location (null not permitted).
notify - notify listeners?
See Also:
getDomainAxisLocation()

getDomainAxisEdge

public org.jfree.ui.RectangleEdge getDomainAxisEdge()
Returns the edge for the primary domain axis (taking into account the plot's orientation).

Returns:
The edge.
See Also:
getDomainAxisLocation(), getOrientation()

getDomainAxisCount

public int getDomainAxisCount()
Returns the number of domain axes.

Returns:
The axis count.
See Also:
getRangeAxisCount()

clearDomainAxes

public void clearDomainAxes()
Clears the domain axes from the plot and sends a PlotChangeEvent to all registered listeners.

See Also:
clearRangeAxes()

configureDomainAxes

public void configureDomainAxes()
Configures the domain axes.


getDomainAxisLocation

public AxisLocation getDomainAxisLocation(int index)
Returns the location for a domain axis. If this hasn't been set explicitly, the method returns the location that is opposite to the primary domain axis location.

Parameters:
index - the axis index.
Returns:
The location (never null).
See Also:
setDomainAxisLocation(int, AxisLocation)

setDomainAxisLocation

public void setDomainAxisLocation(int index,
                                  AxisLocation location)
Sets the location for a domain axis and sends a PlotChangeEvent to all registered listeners.

Parameters:
index - the axis index.
location - the location (null not permitted for index 0).
See Also:
getDomainAxisLocation(int)

setDomainAxisLocation

public void setDomainAxisLocation(int index,
                                  AxisLocation location,
                                  boolean notify)
Sets the axis location for a domain axis and, if requested, sends a PlotChangeEvent to all registered listeners.

Parameters:
index - the axis index.
location - the location (null not permitted for index 0).
notify - notify listeners?
Since:
1.0.5
See Also:
getDomainAxisLocation(int), setRangeAxisLocation(int, AxisLocation, boolean)

getDomainAxisEdge

public org.jfree.ui.RectangleEdge getDomainAxisEdge(int index)
Returns the edge for a domain axis.

Parameters:
index - the axis index.
Returns:
The edge.
See Also:
getRangeAxisEdge(int)

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.
See Also:
getRangeAxis(int), setRangeAxis(ValueAxis)

setRangeAxis

public void setRangeAxis(ValueAxis axis)
Sets the range axis for the plot and sends a PlotChangeEvent to all registered listeners.

Parameters:
axis - the axis (null permitted).
See Also:
getRangeAxis(), setRangeAxis(int, ValueAxis)

getRangeAxisLocation

public AxisLocation getRangeAxisLocation()
Returns the location of the primary range axis.

Returns:
The location (never null).
See Also:
setRangeAxisLocation(AxisLocation)

setRangeAxisLocation

public void setRangeAxisLocation(AxisLocation location)
Sets the location of the primary range axis and sends a PlotChangeEvent to all registered listeners.

Parameters:
location - the location (null not permitted).
See Also:
getRangeAxisLocation()

setRangeAxisLocation

public void setRangeAxisLocation(AxisLocation location,
                                 boolean notify)
Sets the location of the primary range axis and, if requested, sends a PlotChangeEvent to all registered listeners.

Parameters:
location - the location (null not permitted).
notify - notify listeners?
See Also:
getRangeAxisLocation()

getRangeAxisEdge

public org.jfree.ui.RectangleEdge getRangeAxisEdge()
Returns the edge for the primary range axis.

Returns:
The range axis edge.
See Also:
getRangeAxisLocation(), getOrientation()

getRangeAxis

public ValueAxis getRangeAxis(int index)
Returns a range axis.

Parameters:
index - the axis index.
Returns:
The axis (null possible).
See Also:
setRangeAxis(int, ValueAxis)

setRangeAxis

public void setRangeAxis(int index,
                         ValueAxis axis)
Sets a range axis and sends a PlotChangeEvent to all registered listeners.

Parameters:
index - the axis index.
axis - the axis (null permitted).
See Also:
getRangeAxis(int)

setRangeAxis

public void setRangeAxis(int index,
                         ValueAxis axis,
                         boolean notify)
Sets a range axis and, if requested, sends a PlotChangeEvent to all registered listeners.

Parameters:
index - the axis index.
axis - the axis (null permitted).
notify - notify listeners?
See Also:
getRangeAxis(int)

setRangeAxes

public void setRangeAxes(ValueAxis[] axes)
Sets the range axes for this plot and sends a PlotChangeEvent to all registered listeners.

Parameters:
axes - the axes (null not permitted).
See Also:
setDomainAxes(ValueAxis[])

getRangeAxisCount

public int getRangeAxisCount()
Returns the number of range axes.

Returns:
The axis count.
See Also:
getDomainAxisCount()

clearRangeAxes

public void clearRangeAxes()
Clears the range axes from the plot and sends a PlotChangeEvent to all registered listeners.

See Also:
clearDomainAxes()

configureRangeAxes

public void configureRangeAxes()
Configures the range axes.

See Also:
configureDomainAxes()

getRangeAxisLocation

public AxisLocation getRangeAxisLocation(int index)
Returns the location for a range axis. If this hasn't been set explicitly, the method returns the location that is opposite to the primary range axis location.

Parameters:
index - the axis index.
Returns:
The location (never null).
See Also:
setRangeAxisLocation(int, AxisLocation)

setRangeAxisLocation

public void setRangeAxisLocation(int index,
                                 AxisLocation location)
Sets the location for a range axis and sends a PlotChangeEvent to all registered listeners.

Parameters:
index - the axis index.
location - the location (null permitted).
See Also:
getRangeAxisLocation(int)

setRangeAxisLocation

public void setRangeAxisLocation(int index,
                                 AxisLocation location,
                                 boolean notify)
Sets the axis location for a domain axis and, if requested, sends a PlotChangeEvent to all registered listeners.

Parameters:
index - the axis index.
location - the location (null not permitted for index 0).
notify - notify listeners?
Since:
1.0.5
See Also:
getRangeAxisLocation(int), setDomainAxisLocation(int, AxisLocation, boolean)

getRangeAxisEdge

public org.jfree.ui.RectangleEdge getRangeAxisEdge(int index)
Returns the edge for a range axis.

Parameters:
index - the axis index.
Returns:
The edge.
See Also:
getRangeAxisLocation(int), getOrientation()

getDataset

public XYDataset getDataset()
Returns the primary dataset for the plot.

Returns:
The primary dataset (possibly null).
See Also:
getDataset(int), setDataset(XYDataset)

getDataset

public XYDataset getDataset(int index)
Returns a dataset.

Parameters:
index - the dataset index.
Returns:
The dataset (possibly null).
See Also:
setDataset(int, XYDataset)

setDataset

public void setDataset(XYDataset dataset)
Sets the primary dataset for the plot, replacing the existing dataset if there is one.

Parameters:
dataset - the dataset (null permitted).
See Also:
getDataset(), setDataset(int, XYDataset)

setDataset

public void setDataset(int index,
                       XYDataset dataset)
Sets a dataset for the plot.

Parameters:
index - the dataset index.
dataset - the dataset (null permitted).
See Also:
getDataset(int)

getDatasetCount

public int getDatasetCount()
Returns the number of datasets.

Returns:
The number of datasets.

indexOf

public int indexOf(XYDataset dataset)
Returns the index of the specified dataset, or -1 if the dataset does not belong to the plot.

Parameters:
dataset - the dataset (null not permitted).
Returns:
The index.

mapDatasetToDomainAxis

public void mapDatasetToDomainAxis(int index,
                                   int axisIndex)
Maps a dataset to a particular domain axis. All data will be plotted against axis zero by default, no mapping is required for this case.

Parameters:
index - the dataset index (zero-based).
axisIndex - the axis index.
See Also:
mapDatasetToRangeAxis(int, int)

mapDatasetToDomainAxes

public void mapDatasetToDomainAxes(int index,
                                   java.util.List axisIndices)
Maps the specified dataset to the axes in the list. Note that the conversion of data values into Java2D space is always performed using the first axis in the list.

Parameters:
index - the dataset index (zero-based).
axisIndices - the axis indices (null permitted).
Since:
1.0.12

mapDatasetToRangeAxis

public void mapDatasetToRangeAxis(int index,
                                  int axisIndex)
Maps a dataset to a particular range axis. All data will be plotted against axis zero by default, no mapping is required for this case.

Parameters:
index - the dataset index (zero-based).
axisIndex - the axis index.
See Also:
mapDatasetToDomainAxis(int, int)

mapDatasetToRangeAxes

public void mapDatasetToRangeAxes(int index,
                                  java.util.List axisIndices)
Maps the specified dataset to the axes in the list. Note that the conversion of data values into Java2D space is always performed using the first axis in the list.

Parameters:
index - the dataset index (zero-based).
axisIndices - the axis indices (null permitted).
Since:
1.0.12

getRendererCount

public int getRendererCount()
Returns the number of renderer slots for this plot.

Returns:
The number of renderer slots.
Since:
1.0.11

getRenderer

public XYItemRenderer getRenderer()
Returns the renderer for the primary dataset.

Returns:
The item renderer (possibly null).
See Also:
setRenderer(XYItemRenderer)

getRenderer

public XYItemRenderer getRenderer(int index)
Returns the renderer for a dataset, or null.

Parameters:
index - the renderer index.
Returns:
The renderer (possibly null).
See Also:
setRenderer(int, XYItemRenderer)

setRenderer

public void setRenderer(XYItemRenderer renderer)
Sets the renderer for the primary dataset and sends a PlotChangeEvent to all registered listeners. If the renderer is set to null, no data will be displayed.

Parameters:
renderer - the renderer (null permitted).
See Also:
getRenderer()

setRenderer

public void setRenderer(int index,
                        XYItemRenderer renderer)
Sets a renderer and sends a PlotChangeEvent to all registered listeners.

Parameters:
index - the index.
renderer - the renderer.
See Also:
getRenderer(int)

setRenderer

public void setRenderer(int index,
                        XYItemRenderer renderer,
                        boolean notify)
Sets a renderer and sends a PlotChangeEvent to all registered listeners.

Parameters:
index - the index.
renderer - the renderer.
notify - notify listeners?
See Also:
getRenderer(int)

setRenderers

public void setRenderers(XYItemRenderer[] renderers)
Sets the renderers for this plot and sends a PlotChangeEvent to all registered listeners.

Parameters:
renderers - the renderers (null not permitted).

getDatasetRenderingOrder

public DatasetRenderingOrder getDatasetRenderingOrder()
Returns the dataset rendering order.

Returns:
The order (never null).
See Also:
setDatasetRenderingOrder(DatasetRenderingOrder)

setDatasetRenderingOrder

public void setDatasetRenderingOrder(DatasetRenderingOrder order)
Sets the rendering order and sends a PlotChangeEvent to all registered listeners. By default, the plot renders the primary dataset last (so that the primary dataset overlays the secondary datasets). You can reverse this if you want to.

Parameters:
order - the rendering order (null not permitted).
See Also:
getDatasetRenderingOrder()

getSeriesRenderingOrder

public SeriesRenderingOrder getSeriesRenderingOrder()
Returns the series rendering order.

Returns:
the order (never null).
See Also:
setSeriesRenderingOrder(SeriesRenderingOrder)

setSeriesRenderingOrder

public void setSeriesRenderingOrder(SeriesRenderingOrder order)
Sets the series order and sends a PlotChangeEvent to all registered listeners. By default, the plot renders the primary series last (so that the primary series appears to be on top). You can reverse this if you want to.

Parameters:
order - the rendering order (null not permitted).
See Also:
getSeriesRenderingOrder()

getIndexOf

public int getIndexOf(XYItemRenderer renderer)
Returns the index of the specified renderer, or -1 if the renderer is not assigned to this plot.

Parameters:
renderer - the renderer (null permitted).
Returns:
The renderer index.

getRendererForDataset

public XYItemRenderer getRendererForDataset(XYDataset dataset)
Returns the renderer for the specified dataset. The code first determines the index of the dataset, then checks if there is a renderer with the same index (if not, the method returns renderer(0).

Parameters:
dataset - the dataset (null permitted).
Returns:
The renderer (possibly null).

getWeight

public int getWeight()
Returns the weight for this plot when it is used as a subplot within a combined plot.

Returns:
The weight.
See Also:
setWeight(int)

setWeight

public void setWeight(int weight)
Sets the weight for the plot and sends a PlotChangeEvent to all registered listeners.

Parameters:
weight - the weight.
See Also:
getWeight()

isDomainGridlinesVisible

public boolean isDomainGridlinesVisible()
Returns true if the domain gridlines are visible, and false otherwise.

Returns:
true or false.
See Also:
setDomainGridlinesVisible(boolean)

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:
isDomainGridlinesVisible()

isDomainMinorGridlinesVisible

public boolean isDomainMinorGridlinesVisible()
Returns true if the domain minor gridlines are visible, and false otherwise.

Returns:
true or false.
Since:
1.0.12
See Also:
setDomainMinorGridlinesVisible(boolean)

setDomainMinorGridlinesVisible

public void setDomainMinorGridlinesVisible(boolean visible)
Sets the flag that controls whether or not the domain minor 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.
Since:
1.0.12
See Also:
isDomainMinorGridlinesVisible()

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).
Throws:
java.lang.IllegalArgumentException - if stroke is null.
See Also:
getDomainGridlineStroke()

getDomainMinorGridlineStroke

public java.awt.Stroke getDomainMinorGridlineStroke()
Returns the stroke for the minor grid-lines (if any) plotted against the domain axis.

Returns:
The stroke (never null).
Since:
1.0.12
See Also:
setDomainMinorGridlineStroke(Stroke)

setDomainMinorGridlineStroke

public void setDomainMinorGridlineStroke(java.awt.Stroke stroke)
Sets the stroke for the minor grid lines plotted against the domain axis, and sends a PlotChangeEvent to all registered listeners.

Parameters:
stroke - the stroke (null not permitted).
Throws:
java.lang.IllegalArgumentException - if stroke is null.
Since:
1.0.12
See Also:
getDomainMinorGridlineStroke()

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).
Throws:
java.lang.IllegalArgumentException - if paint is null.
See Also:
getDomainGridlinePaint()

getDomainMinorGridlinePaint

public java.awt.Paint getDomainMinorGridlinePaint()
Returns the paint for the minor grid lines (if any) plotted against the domain axis.

Returns:
The paint (never null).
Since:
1.0.12
See Also:
setDomainMinorGridlinePaint(Paint)

setDomainMinorGridlinePaint

public void setDomainMinorGridlinePaint(java.awt.Paint paint)
Sets the paint for the minor grid lines plotted against the domain axis, and sends a PlotChangeEvent to all registered listeners.

Parameters:
paint - the paint (null not permitted).
Throws:
java.lang.IllegalArgumentException - if paint is null.
Since:
1.0.12
See Also:
getDomainMinorGridlinePaint()

isRangeGridlinesVisible

public boolean isRangeGridlinesVisible()
Returns true if the range axis grid is visible, and false otherwise.

Returns:
A boolean.
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 not 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()

isRangeMinorGridlinesVisible

public boolean isRangeMinorGridlinesVisible()
Returns true if the range axis minor grid is visible, and false otherwise.

Returns:
A boolean.
Since:
1.0.12
See Also:
setRangeMinorGridlinesVisible(boolean)

setRangeMinorGridlinesVisible

public void setRangeMinorGridlinesVisible(boolean visible)
Sets the flag that controls whether or not the range axis minor 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.
Since:
1.0.12
See Also:
isRangeMinorGridlinesVisible()

getRangeMinorGridlineStroke

public java.awt.Stroke getRangeMinorGridlineStroke()
Returns the stroke for the minor grid lines (if any) plotted against the range axis.

Returns:
The stroke (never null).
Since:
1.0.12
See Also:
setRangeMinorGridlineStroke(Stroke)

setRangeMinorGridlineStroke

public void setRangeMinorGridlineStroke(java.awt.Stroke stroke)
Sets the stroke for the minor grid lines plotted against the range axis, and sends a PlotChangeEvent to all registered listeners.

Parameters:
stroke - the stroke (null not permitted).
Since:
1.0.12
See Also:
getRangeMinorGridlineStroke()

getRangeMinorGridlinePaint

public java.awt.Paint getRangeMinorGridlinePaint()
Returns the paint for the minor grid lines (if any) plotted against the range axis.

Returns:
The paint (never null).
Since:
1.0.12
See Also:
setRangeMinorGridlinePaint(Paint)

setRangeMinorGridlinePaint

public void setRangeMinorGridlinePaint(java.awt.Paint paint)
Sets the paint for the minor grid lines plotted against the range axis and sends a PlotChangeEvent to all registered listeners.

Parameters:
paint - the paint (null not permitted).
Since:
1.0.12
See Also:
getRangeMinorGridlinePaint()

isDomainZeroBaselineVisible

public boolean isDomainZeroBaselineVisible()
Returns a flag that controls whether or not a zero baseline is displayed for the domain axis.

Returns:
A boolean.
Since:
1.0.5
See Also:
setDomainZeroBaselineVisible(boolean)

setDomainZeroBaselineVisible

public void setDomainZeroBaselineVisible(boolean visible)
Sets the flag that controls whether or not the zero baseline is displayed for the domain axis, and sends a PlotChangeEvent to all registered listeners.

Parameters:
visible - the flag.
Since:
1.0.5
See Also:
isDomainZeroBaselineVisible()

getDomainZeroBaselineStroke

public java.awt.Stroke getDomainZeroBaselineStroke()
Returns the stroke used for the zero baseline against the domain axis.

Returns:
The stroke (never null).
Since:
1.0.5
See Also:
setDomainZeroBaselineStroke(Stroke)

setDomainZeroBaselineStroke

public void setDomainZeroBaselineStroke(java.awt.Stroke stroke)
Sets the stroke for the zero baseline for the domain axis, and sends a PlotChangeEvent to all registered listeners.

Parameters:
stroke - the stroke (null not permitted).
Since:
1.0.5
See Also:
getRangeZeroBaselineStroke()

getDomainZeroBaselinePaint

public java.awt.Paint getDomainZeroBaselinePaint()
Returns the paint for the zero baseline (if any) plotted against the domain axis.

Returns:
The paint (never null).
Since:
1.0.5
See Also:
setDomainZeroBaselinePaint(Paint)

setDomainZeroBaselinePaint

public void setDomainZeroBaselinePaint(java.awt.Paint paint)
Sets the paint for the zero baseline plotted against the domain axis and sends a PlotChangeEvent to all registered listeners.

Parameters:
paint - the paint (null not permitted).
Since:
1.0.5
See Also:
getDomainZeroBaselinePaint()

isRangeZeroBaselineVisible

public boolean isRangeZeroBaselineVisible()
Returns a flag that controls whether or not a zero baseline is displayed for the range axis.

Returns:
A boolean.
See Also:
setRangeZeroBaselineVisible(boolean)

setRangeZeroBaselineVisible

public void setRangeZeroBaselineVisible(boolean visible)
Sets the flag that controls whether or not the zero baseline is displayed for the range axis, and sends a PlotChangeEvent to all registered listeners.

Parameters:
visible - the flag.
See Also:
isRangeZeroBaselineVisible()

getRangeZeroBaselineStroke

public java.awt.Stroke getRangeZeroBaselineStroke()
Returns the stroke used for the zero baseline against the range axis.

Returns:
The stroke (never null).
See Also:
setRangeZeroBaselineStroke(Stroke)

setRangeZeroBaselineStroke

public void setRangeZeroBaselineStroke(java.awt.Stroke stroke)
Sets the stroke for the zero baseline for the range axis, and sends a PlotChangeEvent to all registered listeners.

Parameters:
stroke - the stroke (null not permitted).
See Also:
getRangeZeroBaselineStroke()

getRangeZeroBaselinePaint

public java.awt.Paint getRangeZeroBaselinePaint()
Returns the paint for the zero baseline (if any) plotted against the range axis.

Returns:
The paint (never null).
See Also:
setRangeZeroBaselinePaint(Paint)

setRangeZeroBaselinePaint

public void setRangeZeroBaselinePaint(java.awt.Paint paint)
Sets the paint for the zero baseline plotted against the range axis and sends a PlotChangeEvent to all registered listeners.

Parameters:
paint - the paint (null not permitted).
See Also:
getRangeZeroBaselinePaint()

getDomainTickBandPaint

public java.awt.Paint getDomainTickBandPaint()
Returns the paint used for the domain tick bands. If this is null, no tick bands will be drawn.

Returns:
The paint (possibly null).
See Also:
setDomainTickBandPaint(Paint)

setDomainTickBandPaint

public void setDomainTickBandPaint(java.awt.Paint paint)
Sets the paint for the domain tick bands.

Parameters:
paint - the paint (null permitted).
See Also:
getDomainTickBandPaint()

getRangeTickBandPaint

public java.awt.Paint getRangeTickBandPaint()
Returns the paint used for the range tick bands. If this is null, no tick bands will be drawn.

Returns:
The paint (possibly null).
See Also:
setRangeTickBandPaint(Paint)

setRangeTickBandPaint

public void setRangeTickBandPaint(java.awt.Paint paint)
Sets the paint for the range tick bands.

Parameters:
paint - the paint (null permitted).
See Also:
getRangeTickBandPaint()

getQuadrantOrigin

public java.awt.geom.Point2D getQuadrantOrigin()
Returns the origin for the quadrants that can be displayed on the plot. This defaults to (0, 0).

Returns:
The origin point (never null).
See Also:
setQuadrantOrigin(Point2D)

setQuadrantOrigin

public void setQuadrantOrigin(java.awt.geom.Point2D origin)
Sets the quadrant origin and sends a PlotChangeEvent to all registered listeners.

Parameters:
origin - the origin (null not permitted).
See Also:
getQuadrantOrigin()

getQuadrantPaint

public java.awt.Paint getQuadrantPaint(int index)
Returns the paint used for the specified quadrant.

Parameters:
index - the quadrant index (0-3).
Returns:
The paint (possibly null).
See Also:
setQuadrantPaint(int, Paint)

setQuadrantPaint

public void setQuadrantPaint(int index,
                             java.awt.Paint paint)
Sets the paint used for the specified quadrant and sends a PlotChangeEvent to all registered listeners.

Parameters:
index - the quadrant index (0-3).
paint - the paint (null permitted).
See Also:
getQuadrantPaint(int)

addDomainMarker

public void addDomainMarker(Marker marker)
Adds a marker for the domain axis and sends a PlotChangeEvent to all registered listeners.

Typically a marker will be drawn by the renderer as a line perpendicular to the range axis, however this is entirely up to the renderer.

Parameters:
marker - the marker (null not permitted).
See Also:
addDomainMarker(Marker, Layer), clearDomainMarkers()

addDomainMarker

public void addDomainMarker(Marker marker,
                            org.jfree.ui.Layer layer)
Adds a marker for the domain axis in the specified layer and sends a PlotChangeEvent to all registered listeners.

Typically a marker will be drawn by the renderer as a line perpendicular to the range axis, however this is entirely up to the renderer.

Parameters:
marker - the marker (null not permitted).
layer - the layer (foreground or background).
See Also:
addDomainMarker(int, Marker, Layer)

clearDomainMarkers

public void clearDomainMarkers()
Clears all the (foreground and background) domain markers and sends a PlotChangeEvent to all registered listeners.

See Also:
addDomainMarker(int, Marker, Layer)

clearDomainMarkers

public void clearDomainMarkers(int index)
Clears the (foreground and background) domain markers for a particular renderer.

Parameters:
index - the renderer index.
See Also:
clearRangeMarkers(int)

addDomainMarker

public void addDomainMarker(int index,
                            Marker marker,
                            org.jfree.ui.Layer layer)
Adds a marker for a specific dataset/renderer and sends a PlotChangeEvent to all registered listeners.

Typically a marker will be drawn by the renderer as a line perpendicular to the domain axis (that the renderer is mapped to), however this is entirely up to the renderer.

Parameters:
index - the dataset/renderer index.
marker - the marker.
layer - the layer (foreground or background).
See Also:
clearDomainMarkers(int), addRangeMarker(int, Marker, Layer)

addDomainMarker

public void addDomainMarker(int index,
                            Marker marker,
                            org.jfree.ui.Layer layer,
                            boolean notify)
Adds a marker for a specific dataset/renderer and, if requested, sends a PlotChangeEvent to all registered listeners.

Typically a marker will be drawn by the renderer as a line perpendicular to the domain axis (that the renderer is mapped to), however this is entirely up to the renderer.

Parameters:
index - the dataset/renderer index.
marker - the marker.
layer - the layer (foreground or background).
notify - notify listeners?
Since:
1.0.10

removeDomainMarker

public boolean removeDomainMarker(Marker marker)
Removes a marker for the domain axis and sends a PlotChangeEvent to all registered listeners.

Parameters:
marker - the marker.
Returns:
A boolean indicating whether or not the marker was actually removed.
Since:
1.0.7

removeDomainMarker

public boolean removeDomainMarker(Marker marker,
                                  org.jfree.ui.Layer layer)
Removes a marker for the domain axis in the specified layer and sends a PlotChangeEvent to all registered listeners.

Parameters:
marker - the marker (null not permitted).
layer - the layer (foreground or background).
Returns:
A boolean indicating whether or not the marker was actually removed.
Since:
1.0.7

removeDomainMarker

public boolean removeDomainMarker(int index,
                                  Marker marker,
                                  org.jfree.ui.Layer layer)
Removes a marker for a specific dataset/renderer and sends a PlotChangeEvent to all registered listeners.

Parameters:
index - the dataset/renderer index.
marker - the marker.
layer - the layer (foreground or background).
Returns:
A boolean indicating whether or not the marker was actually removed.
Since:
1.0.7

removeDomainMarker

public boolean removeDomainMarker(int index,
                                  Marker marker,
                                  org.jfree.ui.Layer layer,
                                  boolean notify)
Removes a marker for a specific dataset/renderer and, if requested, sends a PlotChangeEvent to all registered listeners.

Parameters:
index - the dataset/renderer index.
marker - the marker.
layer - the layer (foreground or background).
notify - notify listeners?
Returns:
A boolean indicating whether or not the marker was actually removed.
Since:
1.0.10

addRangeMarker

public void addRangeMarker(Marker marker)
Adds a marker for the range axis and sends a PlotChangeEvent to all registered listeners.

Typically a marker will be drawn by the renderer as a line perpendicular to the range axis, however this is entirely up to the renderer.

Parameters:
marker - the marker (null not permitted).
See Also:
addRangeMarker(Marker, Layer)

addRangeMarker

public void addRangeMarker(Marker marker,
                           org.jfree.ui.Layer layer)
Adds a marker for the range axis in the specified layer and sends a PlotChangeEvent to all registered listeners.

Typically a marker will be drawn by the renderer as a line perpendicular to the range axis, however this is entirely up to the renderer.

Parameters:
marker - the marker (null not permitted).
layer - the layer (foreground or background).
See Also:
addRangeMarker(int, Marker, Layer)

clearRangeMarkers

public void clearRangeMarkers()
Clears all the range markers and sends a PlotChangeEvent to all registered listeners.

See Also:
clearRangeMarkers()

addRangeMarker

public void addRangeMarker(int index,
                           Marker marker,
                           org.jfree.ui.Layer layer)
Adds a marker for a specific dataset/renderer and sends a PlotChangeEvent to all registered listeners.

Typically a marker will be drawn by the renderer as a line perpendicular to the range axis, however this is entirely up to the renderer.

Parameters:
index - the dataset/renderer index.
marker - the marker.
layer - the layer (foreground or background).
See Also:
clearRangeMarkers(int), addDomainMarker(int, Marker, Layer)

addRangeMarker

public void addRangeMarker(int index,
                           Marker marker,
                           org.jfree.ui.Layer layer,
                           boolean notify)
Adds a marker for a specific dataset/renderer and, if requested, sends a PlotChangeEvent to all registered listeners.

Typically a marker will be drawn by the renderer as a line perpendicular to the range axis, however this is entirely up to the renderer.

Parameters:
index - the dataset/renderer index.
marker - the marker.
layer - the layer (foreground or background).
notify - notify listeners?
Since:
1.0.10

clearRangeMarkers

public void clearRangeMarkers(int index)
Clears the (foreground and background) range markers for a particular renderer.

Parameters:
index - the renderer index.

removeRangeMarker

public boolean removeRangeMarker(Marker marker)
Removes a marker for the range axis and sends a PlotChangeEvent to all registered listeners.

Parameters:
marker - the marker.
Returns:
A boolean indicating whether or not the marker was actually removed.
Since:
1.0.7

removeRangeMarker

public boolean removeRangeMarker(Marker marker,
                                 org.jfree.ui.Layer layer)
Removes a marker for the range axis in the specified layer and sends a PlotChangeEvent to all registered listeners.

Parameters:
marker - the marker (null not permitted).
layer - the layer (foreground or background).
Returns:
A boolean indicating whether or not the marker was actually removed.
Since:
1.0.7

removeRangeMarker

public boolean removeRangeMarker(int index,
                                 Marker marker,
                                 org.jfree.ui.Layer layer)
Removes a marker for a specific dataset/renderer and sends a PlotChangeEvent to all registered listeners.

Parameters:
index - the dataset/renderer index.
marker - the marker.
layer - the layer (foreground or background).
Returns:
A boolean indicating whether or not the marker was actually removed.
Since:
1.0.7

removeRangeMarker

public boolean removeRangeMarker(int index,
                                 Marker marker,
                                 org.jfree.ui.Layer layer,
                                 boolean notify)
Removes a marker for a specific dataset/renderer and sends a PlotChangeEvent to all registered listeners.

Parameters:
index - the dataset/renderer index.
marker - the marker.
layer - the layer (foreground or background).
notify - notify listeners?
Returns:
A boolean indicating whether or not the marker was actually removed.
Since:
1.0.10

addAnnotation

public void addAnnotation(XYAnnotation annotation)
Adds an annotation to the plot and sends a PlotChangeEvent to all registered listeners.

Parameters:
annotation - the annotation (null not permitted).
See Also:
getAnnotations(), removeAnnotation(XYAnnotation)

addAnnotation

public void addAnnotation(XYAnnotation annotation,
                          boolean notify)
Adds an annotation to the plot and, if requested, sends a PlotChangeEvent to all registered listeners.

Parameters:
annotation - the annotation (null not permitted).
notify - notify listeners?
Since:
1.0.10

removeAnnotation

public boolean removeAnnotation(XYAnnotation annotation)
Removes an annotation from the plot and sends a PlotChangeEvent to all registered listeners.

Parameters:
annotation - the annotation (null not permitted).
Returns:
A boolean (indicates whether or not the annotation was removed).
See Also:
addAnnotation(XYAnnotation), getAnnotations()

removeAnnotation

public boolean removeAnnotation(XYAnnotation annotation,
                                boolean notify)
Removes an annotation from the plot and sends a PlotChangeEvent to all registered listeners.

Parameters:
annotation - the annotation (null not permitted).
notify - notify listeners?
Returns:
A boolean (indicates whether or not the annotation was removed).
Since:
1.0.10

getAnnotations

public java.util.List getAnnotations()
Returns the list of annotations.

Returns:
The list of annotations.
Since:
1.0.1
See Also:
addAnnotation(XYAnnotation)

clearAnnotations

public void clearAnnotations()
Clears all the annotations and sends a PlotChangeEvent to all registered listeners.

See Also:
addAnnotation(XYAnnotation)

calculateAxisSpace

protected AxisSpace calculateAxisSpace(java.awt.Graphics2D g2,
                                       java.awt.geom.Rectangle2D plotArea)
Calculates the space required for all the axes in the plot.

Parameters:
g2 - the graphics device.
plotArea - the plot area.
Returns:
The required space.

calculateDomainAxisSpace

protected AxisSpace calculateDomainAxisSpace(java.awt.Graphics2D g2,
                                             java.awt.geom.Rectangle2D plotArea,
                                             AxisSpace space)
Calculates the space required for the domain axis/axes.

Parameters:
g2 - the graphics device.
plotArea - the plot area.
space - a carrier for the result (null permitted).
Returns:
The required space.

calculateRangeAxisSpace

protected AxisSpace calculateRangeAxisSpace(java.awt.Graphics2D g2,
                                            java.awt.geom.Rectangle2D plotArea,
                                            AxisSpace space)
Calculates the space required for the range axis/axes.

Parameters:
g2 - the graphics device.
plotArea - the plot area.
space - a carrier for the result (null permitted).
Returns:
The required space.

draw

public void draw(java.awt.Graphics2D g2,
                 java.awt.geom.Rectangle2D area,
                 java.awt.geom.Point2D anchor,
                 PlotState parentState,
                 PlotRenderingInfo info)
Draws the plot within the specified area on a graphics device.

Specified by:
draw in class Plot
Parameters:
g2 - the graphics device.
area - the plot area (in Java2D space).
anchor - an anchor point in Java2D space (null permitted).
parentState - the state from the parent plot, if there is one (null permitted).
info - collects chart drawing information (null permitted).

drawBackground

public void drawBackground(java.awt.Graphics2D g2,
                           java.awt.geom.Rectangle2D area)
Draws the background for the plot.

Overrides:
drawBackground in class Plot
Parameters:
g2 - the graphics device.
area - the area.

drawQuadrants

protected void drawQuadrants(java.awt.Graphics2D g2,
                             java.awt.geom.Rectangle2D area)
Draws the quadrants.

Parameters:
g2 - the graphics device.
area - the area.
See Also:
setQuadrantOrigin(Point2D), setQuadrantPaint(int, Paint)

drawDomainTickBands

public void drawDomainTickBands(java.awt.Graphics2D g2,
                                java.awt.geom.Rectangle2D dataArea,
                                java.util.List ticks)
Draws the domain tick bands, if any.

Parameters:
g2 - the graphics device.
dataArea - the data area.
ticks - the ticks.
See Also:
setDomainTickBandPaint(Paint)

drawRangeTickBands

public void drawRangeTickBands(java.awt.Graphics2D g2,
                               java.awt.geom.Rectangle2D dataArea,
                               java.util.List ticks)
Draws the range tick bands, if any.

Parameters:
g2 - the graphics device.
dataArea - the data area.
ticks - the ticks.
See Also:
setRangeTickBandPaint(Paint)

drawAxes

protected java.util.Map drawAxes(java.awt.Graphics2D g2,
                                 java.awt.geom.Rectangle2D plotArea,
                                 java.awt.geom.Rectangle2D dataArea,
                                 PlotRenderingInfo plotState)
A utility method for drawing the axes.

Parameters:
g2 - the graphics device (null not permitted).
plotArea - the plot area (null not permitted).
dataArea - the data area (null not permitted).
plotState - collects information about the plot (null permitted).
Returns:
A map containing the state for each axis drawn.

render

public boolean render(java.awt.Graphics2D g2,
                      java.awt.geom.Rectangle2D dataArea,
                      int index,
                      PlotRenderingInfo info,
                      CrosshairState crosshairState)
Draws a representation of the data within the dataArea region, using the current renderer.

The info and crosshairState arguments may be null.

Parameters:
g2 - the graphics device.
dataArea - the region in which the data is to be drawn.
index - the dataset index.
info - an optional object for collection dimension information.
crosshairState - collects crosshair information (null permitted).
Returns:
A flag that indicates whether any data was actually rendered.

getDomainAxisForDataset

public ValueAxis getDomainAxisForDataset(int index)
Returns the domain axis for a dataset.

Parameters:
index - the dataset index.
Returns:
The axis.

getRangeAxisForDataset

public ValueAxis getRangeAxisForDataset(int index)
Returns the range axis for a dataset.

Parameters:
index - the dataset index.
Returns:
The axis.

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.
See Also:
drawRangeGridlines(Graphics2D, Rectangle2D, List)

drawRangeGridlines

protected void drawRangeGridlines(java.awt.Graphics2D g2,
                                  java.awt.geom.Rectangle2D area,
                                  java.util.List ticks)
Draws the gridlines for the plot's primary range axis, if they are visible.

Parameters:
g2 - the graphics device.
area - the data area.
ticks - the ticks.
See Also:
drawDomainGridlines(Graphics2D, Rectangle2D, List)

drawZeroDomainBaseline

protected void drawZeroDomainBaseline(java.awt.Graphics2D g2,
                                      java.awt.geom.Rectangle2D area)
Draws a base line across the chart at value zero on the domain axis.

Parameters:
g2 - the graphics device.
area - the data area.
Since:
1.0.5
See Also:
setDomainZeroBaselineVisible(boolean)

drawZeroRangeBaseline

protected void drawZeroRangeBaseline(java.awt.Graphics2D g2,
                                     java.awt.geom.Rectangle2D area)
Draws a base line across the chart at value zero on the range axis.

Parameters:
g2 - the graphics device.
area - the data area.
See Also:
setRangeZeroBaselineVisible(boolean)

drawAnnotations

public void drawAnnotations(java.awt.Graphics2D g2,
                            java.awt.geom.Rectangle2D dataArea,
                            PlotRenderingInfo info)
Draws the annotations for the plot.

Parameters:
g2 - the graphics device.
dataArea - the data area.
info - the chart rendering info.

drawDomainMarkers

protected void drawDomainMarkers(java.awt.Graphics2D g2,
                                 java.awt.geom.Rectangle2D dataArea,
                                 int index,
                                 org.jfree.ui.Layer layer)
Draws the domain markers (if any) for an axis and layer. This method is typically called from within the draw() method.

Parameters:
g2 - the graphics device.
dataArea - the data area.
index - the renderer index.
layer - the layer (foreground or background).

drawRangeMarkers

protected void drawRangeMarkers(java.awt.Graphics2D g2,
                                java.awt.geom.Rectangle2D dataArea,
                                int index,
                                org.jfree.ui.Layer layer)
Draws the range markers (if any) for a renderer and layer. This method is typically called from within the draw() method.

Parameters:
g2 - the graphics device.
dataArea - the data area.
index - the renderer index.
layer - the layer (foreground or background).

getDomainMarkers

public java.util.Collection getDomainMarkers(org.jfree.ui.Layer layer)
Returns the list of domain markers (read only) for the specified layer.

Parameters:
layer - the layer (foreground or background).
Returns:
The list of domain markers.
See Also:
getRangeMarkers(Layer)

getRangeMarkers

public java.util.Collection getRangeMarkers(org.jfree.ui.Layer layer)
Returns the list of range markers (read only) for the specified layer.

Parameters:
layer - the layer (foreground or background).
Returns:
The list of range markers.
See Also:
getDomainMarkers(Layer)

getDomainMarkers

public java.util.Collection getDomainMarkers(int index,
                                             org.jfree.ui.Layer layer)
Returns a collection of domain markers for a particular renderer and layer.

Parameters:
index - the renderer index.
layer - the layer.
Returns:
A collection of markers (possibly null).
See Also:
getRangeMarkers(int, Layer)

getRangeMarkers

public java.util.Collection getRangeMarkers(int index,
                                            org.jfree.ui.Layer layer)
Returns a collection of range markers for a particular renderer and layer.

Parameters:
index - the renderer index.
layer - the layer.
Returns:
A collection of markers (possibly null).
See Also:
getDomainMarkers(int, Layer)

drawHorizontalLine

protected void drawHorizontalLine(java.awt.Graphics2D g2,
                                  java.awt.geom.Rectangle2D dataArea,
                                  double value,
                                  java.awt.Stroke stroke,
                                  java.awt.Paint paint)
Utility method for drawing a horizontal line across the data area of the plot.

Parameters:
g2 - the graphics device.
dataArea - the data area.
value - the coordinate, where to draw the line.
stroke - the stroke to use.
paint - the paint to use.

drawDomainCrosshair

protected void drawDomainCrosshair(java.awt.Graphics2D g2,
                                   java.awt.geom.Rectangle2D dataArea,
                                   PlotOrientation orientation,
                                   double value,
                                   ValueAxis axis,
                                   java.awt.Stroke stroke,
                                   java.awt.Paint paint)
Draws a domain crosshair.

Parameters:
g2 - the graphics target.
dataArea - the data area.
orientation - the plot orientation.
value - the crosshair value.
axis - the axis against which the value is measured.
stroke - the stroke used to draw the crosshair line.
paint - the paint used to draw the crosshair line.
Since:
1.0.4

drawVerticalLine

protected void drawVerticalLine(java.awt.Graphics2D g2,
                                java.awt.geom.Rectangle2D dataArea,
                                double value,
                                java.awt.Stroke stroke,
                                java.awt.Paint paint)
Utility method for drawing a vertical line on the data area of the plot.

Parameters:
g2 - the graphics device.
dataArea - the data area.
value - the coordinate, where to draw the line.
stroke - the stroke to use.
paint - the paint to use.

drawRangeCrosshair

protected void drawRangeCrosshair(java.awt.Graphics2D g2,
                                  java.awt.geom.Rectangle2D dataArea,
                                  PlotOrientation orientation,
                                  double value,
                                  ValueAxis axis,
                                  java.awt.Stroke stroke,
                                  java.awt.Paint paint)
Draws a range crosshair.

Parameters:
g2 - the graphics target.
dataArea - the data area.
orientation - the plot orientation.
value - the crosshair value.
axis - the axis against which the value is measured.
stroke - the stroke used to draw the crosshair line.
paint - the paint used to draw the crosshair line.
Since:
1.0.4

handleClick

public void handleClick(int x,
                        int y,
                        PlotRenderingInfo info)
Handles a 'click' on the plot by updating the anchor values.

Overrides:
handleClick in class Plot
Parameters:
x - the x-coordinate, where the click occurred, in Java2D space.
y - the y-coordinate, where the click occurred, in Java2D space.
info - object containing information about the plot dimensions.

getDomainAxisIndex

public int getDomainAxisIndex(ValueAxis axis)
Returns the index of the given domain axis.

Parameters:
axis - the axis.
Returns:
The axis index.
See Also:
getRangeAxisIndex(ValueAxis)

getRangeAxisIndex

public int getRangeAxisIndex(ValueAxis axis)
Returns the index of the given range axis.

Parameters:
axis - the axis.
Returns:
The axis index.
See Also:
getDomainAxisIndex(ValueAxis)

getDataRange

public Range getDataRange(ValueAxis axis)
Returns the range for the specified axis.

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

datasetChanged

public void datasetChanged(DatasetChangeEvent event)
Receives notification of a change to the plot's dataset.

The axis ranges are updated if necessary.

Specified by:
datasetChanged in interface DatasetChangeListener
Overrides:
datasetChanged in class Plot
Parameters:
event - information about the event (not used here).

rendererChanged

public void rendererChanged(RendererChangeEvent event)
Receives notification of a renderer change event.

Specified by:
rendererChanged in interface RendererChangeListener
Parameters:
event - the event.

isDomainCrosshairVisible

public boolean isDomainCrosshairVisible()
Returns a flag indicating whether or not the domain crosshair is visible.

Returns:
The flag.
See Also:
setDomainCrosshairVisible(boolean)

setDomainCrosshairVisible

public void setDomainCrosshairVisible(boolean flag)
Sets the flag indicating whether or not the domain crosshair is visible and, if the flag changes, sends a PlotChangeEvent to all registered listeners.

Parameters:
flag - the new value of the flag.
See Also:
isDomainCrosshairVisible()

isDomainCrosshairLockedOnData

public boolean isDomainCrosshairLockedOnData()
Returns a flag indicating whether or not the crosshair should "lock-on" to actual data values.

Returns:
The flag.
See Also:
setDomainCrosshairLockedOnData(boolean)

setDomainCrosshairLockedOnData

public void setDomainCrosshairLockedOnData(boolean flag)
Sets the flag indicating whether or not the domain crosshair should "lock-on" to actual data values. If the flag value changes, this method sends a PlotChangeEvent to all registered listeners.

Parameters:
flag - the flag.
See Also:
isDomainCrosshairLockedOnData()

getDomainCrosshairValue

public double getDomainCrosshairValue()
Returns the domain crosshair value.

Returns:
The value.
See Also:
setDomainCrosshairValue(double)

setDomainCrosshairValue

public void setDomainCrosshairValue(double value)
Sets the domain crosshair value and sends a PlotChangeEvent to all registered listeners (provided that the domain crosshair is visible).

Parameters:
value - the value.
See Also:
getDomainCrosshairValue()

setDomainCrosshairValue

public void setDomainCrosshairValue(double value,
                                    boolean notify)
Sets the domain crosshair value and, if requested, sends a PlotChangeEvent to all registered listeners (provided that the domain crosshair is visible).

Parameters:
value - the new value.
notify - notify listeners?
See Also:
getDomainCrosshairValue()

getDomainCrosshairStroke

public java.awt.Stroke getDomainCrosshairStroke()
Returns the Stroke used to draw the crosshair (if visible).

Returns:
The crosshair stroke (never null).
See Also:
setDomainCrosshairStroke(Stroke), isDomainCrosshairVisible(), getDomainCrosshairPaint()

setDomainCrosshairStroke

public void setDomainCrosshairStroke(java.awt.Stroke stroke)
Sets the Stroke used to draw the crosshairs (if visible) and notifies registered listeners that the axis has been modified.

Parameters:
stroke - the new crosshair stroke (null not permitted).
See Also:
getDomainCrosshairStroke()

getDomainCrosshairPaint

public java.awt.Paint getDomainCrosshairPaint()
Returns the domain crosshair paint.

Returns:
The crosshair paint (never null).
See Also:
setDomainCrosshairPaint(Paint), isDomainCrosshairVisible(), getDomainCrosshairStroke()

setDomainCrosshairPaint

public void setDomainCrosshairPaint(java.awt.Paint paint)
Sets the paint used to draw the crosshairs (if visible) and sends a PlotChangeEvent to all registered listeners.

Parameters:
paint - the new crosshair paint (null not permitted).
See Also:
getDomainCrosshairPaint()

isRangeCrosshairVisible

public boolean isRangeCrosshairVisible()
Returns a flag indicating whether or not the range crosshair is visible.

Returns:
The flag.
See Also:
setRangeCrosshairVisible(boolean), isDomainCrosshairVisible()

setRangeCrosshairVisible

public void setRangeCrosshairVisible(boolean flag)
Sets the flag indicating whether or not the range crosshair is visible. If the flag value changes, this method sends a PlotChangeEvent to all registered listeners.

Parameters:
flag - the new value of the flag.
See Also:
isRangeCrosshairVisible()

isRangeCrosshairLockedOnData

public boolean isRangeCrosshairLockedOnData()
Returns a flag indicating whether or not the crosshair should "lock-on" to actual data values.

Returns:
The flag.
See Also:
setRangeCrosshairLockedOnData(boolean)

setRangeCrosshairLockedOnData

public void setRangeCrosshairLockedOnData(boolean flag)
Sets the flag indicating whether or not the range crosshair should "lock-on" to actual data values. If the flag value changes, this method sends a PlotChangeEvent to all registered listeners.

Parameters:
flag - the flag.
See Also:
isRangeCrosshairLockedOnData()

getRangeCrosshairValue

public double getRangeCrosshairValue()
Returns the range crosshair value.

Returns:
The value.
See Also:
setRangeCrosshairValue(double)

setRangeCrosshairValue

public void setRangeCrosshairValue(double value)
Sets the range crosshair value.

Registered listeners are notified that the plot has been modified, but only if the crosshair is visible.

Parameters:
value - the new value.
See Also:
getRangeCrosshairValue()

setRangeCrosshairValue

public void setRangeCrosshairValue(double value,
                                   boolean notify)
Sets the range crosshair value and sends a PlotChangeEvent to all registered listeners, but only if the crosshair is visible.

Parameters:
value - the new value.
notify - a flag that controls whether or not listeners are notified.
See Also:
getRangeCrosshairValue()

getRangeCrosshairStroke

public java.awt.Stroke getRangeCrosshairStroke()
Returns the stroke used to draw the crosshair (if visible).

Returns:
The crosshair stroke (never null).
See Also:
setRangeCrosshairStroke(Stroke), isRangeCrosshairVisible(), getRangeCrosshairPaint()

setRangeCrosshairStroke

public void setRangeCrosshairStroke(java.awt.Stroke stroke)
Sets the stroke used to draw the crosshairs (if visible) and sends a PlotChangeEvent to all registered listeners.

Parameters:
stroke - the new crosshair stroke (null not permitted).
See Also:
getRangeCrosshairStroke()

getRangeCrosshairPaint

public java.awt.Paint getRangeCrosshairPaint()
Returns the range crosshair paint.

Returns:
The crosshair paint (never null).
See Also:
setRangeCrosshairPaint(Paint), isRangeCrosshairVisible(), getRangeCrosshairStroke()

setRangeCrosshairPaint

public void setRangeCrosshairPaint(java.awt.Paint paint)
Sets the paint used to color the crosshairs (if visible) and sends a PlotChangeEvent to all registered listeners.

Parameters:
paint - the new crosshair paint (null not permitted).
See Also:
getRangeCrosshairPaint()

getFixedDomainAxisSpace

public AxisSpace getFixedDomainAxisSpace()
Returns the fixed domain axis space.

Returns:
The fixed domain axis space (possibly null).
See Also:
setFixedDomainAxisSpace(AxisSpace)

setFixedDomainAxisSpace

public void setFixedDomainAxisSpace(AxisSpace space)
Sets the fixed domain axis space and sends a PlotChangeEvent to all registered listeners.

Parameters:
space - the space (null permitted).
See Also:
getFixedDomainAxisSpace()

setFixedDomainAxisSpace

public void setFixedDomainAxisSpace(AxisSpace space,
                                    boolean notify)
Sets the fixed domain axis space and, if requested, sends a PlotChangeEvent to all registered listeners.

Parameters:
space - the space (null permitted).
notify - notify listeners?
Since:
1.0.9
See Also:
getFixedDomainAxisSpace()

getFixedRangeAxisSpace

public AxisSpace getFixedRangeAxisSpace()
Returns the fixed range axis space.

Returns:
The fixed range axis space (possibly null).
See Also:
setFixedRangeAxisSpace(AxisSpace)

setFixedRangeAxisSpace

public void setFixedRangeAxisSpace(AxisSpace space)
Sets the fixed range axis space and sends a PlotChangeEvent to all registered listeners.

Parameters:
space - the space (null permitted).
See Also:
getFixedRangeAxisSpace()

setFixedRangeAxisSpace

public void setFixedRangeAxisSpace(AxisSpace space,
                                   boolean notify)
Sets the fixed range axis space and, if requested, sends a PlotChangeEvent to all registered listeners.

Parameters:
space - the space (null permitted).
notify - notify listeners?
Since:
1.0.9
See Also:
getFixedRangeAxisSpace()

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

zoomDomainAxes

public void zoomDomainAxes(double factor,
                           PlotRenderingInfo info,
                           java.awt.geom.Point2D source)
Multiplies the range on the domain axis/axes 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).
See Also:
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/axes 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 axis/axes. The new lower and upper bounds are specified as percentages of the current axis range, where 0 percent is the current lower bound and 100 percent is the current upper bound.

Specified by:
zoomDomainAxes in interface Zoomable
Parameters:
lowerPercent - a percentage that determines the new lower bound for the axis (e.g. 0.20 is twenty percent).
upperPercent - a percentage that determines the new upper bound for the axis (e.g. 0.80 is eighty percent).
info - the plot rendering info.
source - the source point (ignored).
See Also:
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:
zoomDomainAxes(double, PlotRenderingInfo, Point2D, boolean)

zoomRangeAxes

public void zoomRangeAxes(double factor,
                          PlotRenderingInfo info,
                          java.awt.geom.Point2D source,
                          boolean useAnchor)
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.
useAnchor - a flag that controls whether or not the source point is used for the 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 lower bound.
upperPercent - the upper bound.
info - the plot rendering info.
source - the source point.
See Also:
zoomDomainAxes(double, double, PlotRenderingInfo, Point2D)

isDomainZoomable

public boolean isDomainZoomable()
Returns true, indicating that the domain axis/axes for this plot are zoomable.

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

isRangeZoomable

public boolean isRangeZoomable()
Returns true, indicating that the range axis/axes for this plot are zoomable.

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

getSeriesCount

public int getSeriesCount()
Returns the number of series in the primary dataset for this plot. If the dataset is null, the method returns 0.

Returns:
The series count.

getFixedLegendItems

public LegendItemCollection getFixedLegendItems()
Returns the fixed legend items, if any.

Returns:
The legend items (possibly null).
See Also:
setFixedLegendItems(LegendItemCollection)

setFixedLegendItems

public void setFixedLegendItems(LegendItemCollection items)
Sets the fixed legend items for the plot. Leave this set to null if you prefer the legend items to be created automatically.

Parameters:
items - the legend items (null permitted).
See Also:
getFixedLegendItems()

getLegendItems

public LegendItemCollection getLegendItems()
Returns the legend items for the plot. Each legend item is generated by the plot's renderer, since the renderer is responsible for the visual representation of the data.

Specified by:
getLegendItems in interface LegendItemSource
Overrides:
getLegendItems in class Plot
Returns:
The legend items.

equals

public boolean equals(java.lang.Object obj)
Tests this plot for equality with another object.

Overrides:
equals in class Plot
Parameters:
obj - the object (null permitted).
Returns:
true or false.

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 - this can occur if some component of the plot cannot be cloned.

Footer
And More


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