Class XYPlot

java.lang.Object
org.jfree.chart.plot.Plot
org.jfree.chart.plot.XYPlot
All Implemented Interfaces:
Serializable, Cloneable, EventListener, AxisChangeListener, RendererChangeListener, ValueAxisPlot, DatasetChangeListener
Direct Known Subclasses:
CombinedDomainXYPlot, CombinedRangeXYPlot

public class XYPlot
extends Plot
implements ValueAxisPlot, RendererChangeListener, Cloneable, 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 Details

    • DEFAULT_GRIDLINE_STROKE

      public static final Stroke DEFAULT_GRIDLINE_STROKE
      The default grid line stroke.
    • DEFAULT_GRIDLINE_PAINT

      public static final 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 Stroke DEFAULT_CROSSHAIR_STROKE
      The default crosshair stroke.
    • DEFAULT_CROSSHAIR_PAINT

      public static final Paint DEFAULT_CROSSHAIR_PAINT
      The default crosshair paint.
  • Constructor Details

    • XYPlot

      public XYPlot()
      Default constructor.
    • XYPlot

      public XYPlot​(XYDataset dataset, ValueAxis domainAxis, ValueAxis rangeAxis, XYItemRenderer renderer)
      Creates a new plot.
      Parameters:
      dataset - the dataset (null permitted).
      domainAxis - the domain axis (null permitted).
      rangeAxis - the range axis (null permitted).
      renderer - the renderer (null permitted).
  • Method Details

    • getPlotType

      public 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.
      Returns:
      The orientation of the plot.
    • setOrientation

      public void setOrientation​(PlotOrientation orientation)
      Sets the orientation for the plot.
      Parameters:
      orientation - the orientation (null not allowed).
    • getAxisOffset

      public org.jfree.ui.Spacer getAxisOffset()
      Returns the axis offset.
      Returns:
      The axis offset.
    • setAxisOffset

      public void setAxisOffset​(org.jfree.ui.Spacer offset)
      Sets the axis offsets (gap between the data area and the axes).
      Parameters:
      offset - the offset.
    • getDomainAxis

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

      public ValueAxis getDomainAxis​(int index)
      Returns a domain axis.
      Parameters:
      index - the axis index.
      Returns:
      The axis (null possible).
    • 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).
    • 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.
    • getDomainAxisLocation

      public AxisLocation getDomainAxisLocation()
      Returns the location of the primary domain axis.
      Returns:
      The location (never null).
    • setDomainAxisLocation

      public void setDomainAxisLocation​(AxisLocation location)
      Sets the location of the domain axis and sends a PlotChangeEvent to all registered listeners.
      Parameters:
      location - the location (null not permitted).
    • 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?
    • 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.
    • getDomainAxisCount

      public int getDomainAxisCount()
      Returns the number of domain axes.
      Returns:
      The axis count.
    • clearDomainAxes

      public void clearDomainAxes()
      Clears the domain axes from the plot and sends a PlotChangeEvent to all registered listeners.
    • 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).
    • 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 permitted).
    • getDomainAxisEdge

      public org.jfree.ui.RectangleEdge getDomainAxisEdge​(int index)
      Returns the edge for a domain axis.
      Parameters:
      index - the axis index.
      Returns:
      The edge.
    • 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.
    • 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).
    • getRangeAxisLocation

      public AxisLocation getRangeAxisLocation()
      Returns the location of the primary range axis.
      Returns:
      the location (never null).
    • 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).
    • 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?
    • getRangeAxisEdge

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

      public ValueAxis getRangeAxis​(int index)
      Returns a range axis.
      Parameters:
      index - the axis index.
      Returns:
      The axis (null possible).
    • 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).
    • getRangeAxisCount

      public int getRangeAxisCount()
      Returns the number of range axes.
      Returns:
      The axis count.
    • clearRangeAxes

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

      public void configureRangeAxes()
      Configures the range axes.
    • 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).
    • 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).
    • getRangeAxisEdge

      public org.jfree.ui.RectangleEdge getRangeAxisEdge​(int index)
      Returns the edge for a range axis.
      Parameters:
      index - the axis index.
      Returns:
      The edge.
    • getDataset

      public XYDataset getDataset()
      Returns the primary dataset for the plot.
      Returns:
      The primary dataset (possibly null).
    • getDataset

      public XYDataset getDataset​(int index)
      Returns a dataset.
      Parameters:
      index - the dataset index.
      Returns:
      The dataset (possibly null).
    • 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).
    • setDataset

      public void setDataset​(int index, XYDataset dataset)
      Sets a dataset for the plot.
      Parameters:
      index - the dataset index.
      dataset - the dataset (null permitted).
    • 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.
      Parameters:
      index - the dataset index (zero-based).
      axisIndex - the axis index.
    • mapDatasetToRangeAxis

      public void mapDatasetToRangeAxis​(int index, int axisIndex)
      Maps a dataset to a particular range axis.
      Parameters:
      index - the dataset index (zero-based).
      axisIndex - the axis index.
    • getRenderer

      public XYItemRenderer getRenderer()
      Returns the renderer for the primary dataset.
      Returns:
      The item renderer (possibly null).
    • getRenderer

      public XYItemRenderer getRenderer​(int index)
      Returns the renderer for a dataset, or null.
      Parameters:
      index - the renderer index.
      Returns:
      The renderer (possibly null).
    • 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).
    • setRenderer

      public void setRenderer​(int index, XYItemRenderer renderer)
      Sets a renderer and sends a PlotChangeEvent is sent to all registered listeners.
      Parameters:
      index - the index.
      renderer - the renderer.
    • getDatasetRenderingOrder

      public DatasetRenderingOrder getDatasetRenderingOrder()
      Returns the dataset rendering order.
      Returns:
      the order (never null).
    • 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).
    • getRendererForDataset

      public XYItemRenderer getRendererForDataset​(XYDataset dataset)
      Returns the renderer for the specified dataset.
      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.
    • setWeight

      public void setWeight​(int weight)
      Sets the weight for the plot.
      Parameters:
      weight - the weight.
    • isDomainGridlinesVisible

      public boolean isDomainGridlinesVisible()
      Returns true if the domain gridlines are visible, and false otherwise. @return true or false.
    • 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.
    • getDomainGridlineStroke

      public Stroke getDomainGridlineStroke()
      Returns the stroke for the grid-lines (if any) plotted against the domain axis.
      Returns:
      the stroke.
    • setDomainGridlineStroke

      public void setDomainGridlineStroke​(Stroke stroke)
      Sets the stroke for the grid lines plotted against the domain axis.

      If you set this to null, no grid lines will be drawn.

      Parameters:
      stroke - the stroke (null permitted).
    • getDomainGridlinePaint

      public Paint getDomainGridlinePaint()
      Returns the paint for the grid lines (if any) plotted against the domain axis.
      Returns:
      the paint.
    • setDomainGridlinePaint

      public void setDomainGridlinePaint​(Paint paint)
      Sets the paint for the grid lines plotted against the domain axis.

      If you set this to null, no grid lines will be drawn.

      Parameters:
      paint - the paint (null permitted).
    • isRangeGridlinesVisible

      public boolean isRangeGridlinesVisible()
      Returns true if the range axis grid is visible, and false otherwise. @return true or false.
    • 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.
    • getRangeGridlineStroke

      public Stroke getRangeGridlineStroke()
      Returns the stroke for the grid lines (if any) plotted against the range axis.
      Returns:
      the stroke.
    • setRangeGridlineStroke

      public void setRangeGridlineStroke​(Stroke stroke)
      Sets the stroke for the grid lines plotted against the range axis.

      If you set this to null, no grid lines will be drawn.

      Parameters:
      stroke - the stroke (null permitted).
    • getRangeGridlinePaint

      public Paint getRangeGridlinePaint()
      Returns the paint for the grid lines (if any) plotted against the range axis.
      Returns:
      the paint.
    • setRangeGridlinePaint

      public void setRangeGridlinePaint​(Paint paint)
      Sets the paint for the grid lines plotted against the range axis.

      If you set this to null, no grid lines will be drawn.

      Parameters:
      paint - the paint (null permitted).
    • getDomainTickBandPaint

      public 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).
    • setDomainTickBandPaint

      public void setDomainTickBandPaint​(Paint paint)
      Sets the paint for the domain tick bands.
      Parameters:
      paint - the paint (null permitted).
    • getRangeTickBandPaint

      public 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).
    • setRangeTickBandPaint

      public void setRangeTickBandPaint​(Paint paint)
      Sets the paint for the range tick bands.
      Parameters:
      paint - the paint (null permitted).
    • getQuadrantOrigin

      public 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).
    • setQuadrantOrigin

      public void setQuadrantOrigin​(Point2D origin)
      Sets the quadrant origin and sends a PlotChangeEvent to all registered listeners.
      Parameters:
      origin - the origin (null not permitted).
    • getQuadrantPaint

      public Paint getQuadrantPaint​(int index)
      Returns the paint used for the specified quadrant.
      Parameters:
      index - the quadrant index (0-3).
      Returns:
      The paint (possibly null).
    • setQuadrantPaint

      public void setQuadrantPaint​(int index, 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).
    • 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).
    • 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).
    • clearDomainMarkers

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

      public void addDomainMarker​(int index, Marker marker, org.jfree.ui.Layer layer)
      Adds a marker for a 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 renderer index.
      marker - the marker.
      layer - the layer (foreground or background).
    • 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).
    • 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).
    • clearRangeMarkers

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

      public void addRangeMarker​(int index, Marker marker, org.jfree.ui.Layer layer)
      Adds a marker for a 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 renderer index.
      marker - the marker.
      layer - the layer (foreground or background).
    • clearRangeMarkers

      public void clearRangeMarkers​(int index)
      Clears the (foreground and background) range markers for a particular renderer.
      Parameters:
      index - the renderer index.
    • 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).
    • clearAnnotations

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

      public void draw​(Graphics2D g2, Rectangle2D area, PlotState parentState, PlotRenderingInfo state)
      Draws the plot on a Java 2D graphics device (such as the screen or a printer).

      This plot relies on an XYItemRenderer to draw each item in the plot. This allows the visual representation of the data to be changed easily.

      The optional info argument collects information about the rendering of the plot (dimensions, tooltip information etc). Just pass in null if you do not need this information.

      Specified by:
      draw in class Plot
      Parameters:
      g2 - the graphics device.
      area - the area within which the plot (including axes and labels) should be drawn.
      parentState - the state from the parent plot, if there is one.
      state - collects chart drawing information (null permitted).
    • draw

      public void draw​(Graphics2D g2, Rectangle2D area, Point2D anchor, PlotState parentState, PlotRenderingInfo info)
      Draws the plot within the specified area on a graphics device.
      Overrides:
      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​(Graphics2D g2, Rectangle2D area)
      Draws the background for the plot.
      Overrides:
      drawBackground in class Plot
      Parameters:
      g2 - the graphics device.
      area - the area.
    • drawDomainTickBands

      public void drawDomainTickBands​(Graphics2D g2, Rectangle2D dataArea, List<ValueTick> ticks)
      Draws the domain tick bands, if any.
      Parameters:
      g2 - the graphics device.
      dataArea - the data area.
      ticks - the ticks.
    • drawRangeTickBands

      public void drawRangeTickBands​(Graphics2D g2, Rectangle2D dataArea, List<ValueTick> ticks)
      Draws the range tick bands, if any.
      Parameters:
      g2 - the graphics device.
      dataArea - the data area.
      ticks - the ticks.
    • render

      public boolean render​(Graphics2D g2, 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
    • drawAnnotations

      public void drawAnnotations​(Graphics2D g2, Rectangle2D dataArea, PlotRenderingInfo info)
      Draws the annotations for the plot.
      Parameters:
      g2 - the graphics device.
      dataArea - the data area.
      info - the chart rendering info.
    • getDomainMarkers

      public 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.
    • getRangeMarkers

      public 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.
    • getDomainMarkers

      public 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).
    • getRangeMarkers

      public Collection<Marker> 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).
    • 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.
    • zoom

      public void zoom​(double percent)
      Zooms the axis ranges by the specified percentage about the anchor point.
      Overrides:
      zoom in class Plot
      Parameters:
      percent - the amount of the zoom.
    • 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.
    • setDomainCrosshairVisible

      public void setDomainCrosshairVisible​(boolean flag)
      Sets the flag indicating whether or not the domain crosshair is visible.
      Parameters:
      flag - the new value of the flag.
    • isDomainCrosshairLockedOnData

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

      public void setDomainCrosshairLockedOnData​(boolean flag)
      Sets the flag indicating whether or not the domain crosshair should "lock-on" to actual data values.
      Parameters:
      flag - the flag.
    • getDomainCrosshairValue

      public double getDomainCrosshairValue()
      Returns the domain crosshair value.
      Returns:
      the value.
    • 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.
    • 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?
    • getDomainCrosshairStroke

      public Stroke getDomainCrosshairStroke()
      Returns the Stroke used to draw the crosshair (if visible).
      Returns:
      the crosshair stroke.
    • setDomainCrosshairStroke

      public void setDomainCrosshairStroke​(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.
    • getDomainCrosshairPaint

      public Paint getDomainCrosshairPaint()
      Returns the domain crosshair color.
      Returns:
      the crosshair color.
    • setDomainCrosshairPaint

      public void setDomainCrosshairPaint​(Paint paint)
      Sets the Paint used to color the crosshairs (if visible) and notifies registered listeners that the axis has been modified.
      Parameters:
      paint - the new crosshair paint.
    • isRangeCrosshairVisible

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

      public void setRangeCrosshairVisible​(boolean flag)
      Sets the flag indicating whether or not the range crosshair is visible.
      Parameters:
      flag - the new value of the flag.
    • isRangeCrosshairLockedOnData

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

      public void setRangeCrosshairLockedOnData​(boolean flag)
      Sets the flag indicating whether or not the range crosshair should "lock-on" to actual data values.
      Parameters:
      flag - the flag.
    • getRangeCrosshairValue

      public double getRangeCrosshairValue()
      Returns the range crosshair value.
      Returns:
      The value.
    • setRangeCrosshairValue

      public void setRangeCrosshairValue​(double value)
      Sets the domain crosshair value.

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

      Parameters:
      value - the new value.
    • setRangeCrosshairValue

      public void setRangeCrosshairValue​(double value, boolean notify)
      Sets the range crosshair value.

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

      Parameters:
      value - the new value.
      notify - a flag that controls whether or not listeners are notified.
    • getRangeCrosshairStroke

      public Stroke getRangeCrosshairStroke()
      Returns the Stroke used to draw the crosshair (if visible).
      Returns:
      the crosshair stroke.
    • setRangeCrosshairStroke

      public void setRangeCrosshairStroke​(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.
    • getRangeCrosshairPaint

      public Paint getRangeCrosshairPaint()
      Returns the range crosshair color.
      Returns:
      the crosshair color.
    • setRangeCrosshairPaint

      public void setRangeCrosshairPaint​(Paint paint)
      Sets the Paint used to color the crosshairs (if visible) and notifies registered listeners that the axis has been modified.
      Parameters:
      paint - the new crosshair paint.
    • getFixedDomainAxisSpace

      public AxisSpace getFixedDomainAxisSpace()
      Returns the fixed domain axis space.
      Returns:
      The fixed domain axis space (possibly null).
    • setFixedDomainAxisSpace

      public void setFixedDomainAxisSpace​(AxisSpace space)
      Sets the fixed domain axis space.
      Parameters:
      space - the space.
    • getFixedRangeAxisSpace

      public AxisSpace getFixedRangeAxisSpace()
      Returns the fixed range axis space.
      Returns:
      The fixed range axis space.
    • setFixedRangeAxisSpace

      public void setFixedRangeAxisSpace​(AxisSpace space)
      Sets the fixed range axis space.
      Parameters:
      space - the space.
    • zoomHorizontalAxes

      public void zoomHorizontalAxes​(double factor)
      Multiplies the range on the horizontal axis/axes by the specified factor.
      Specified by:
      zoomHorizontalAxes in interface ValueAxisPlot
      Parameters:
      factor - the zoom factor.
    • zoomHorizontalAxes

      public void zoomHorizontalAxes​(double lowerPercent, double upperPercent)
      Zooms in on the horizontal 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:
      zoomHorizontalAxes in interface ValueAxisPlot
      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).
    • zoomVerticalAxes

      public void zoomVerticalAxes​(double factor)
      Multiplies the range on the vertical axis/axes by the specified factor.
      Specified by:
      zoomVerticalAxes in interface ValueAxisPlot
      Parameters:
      factor - the zoom factor.
    • zoomVerticalAxes

      public void zoomVerticalAxes​(double lowerPercent, double upperPercent)
      Zooms in on the vertical axes.
      Specified by:
      zoomVerticalAxes in interface ValueAxisPlot
      Parameters:
      lowerPercent - the lower bound.
      upperPercent - the upper bound.
    • 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).
    • 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).
    • 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.
      Overrides:
      getLegendItems in class Plot
      Returns:
      The legend items.
    • equals

      public boolean equals​(Object obj)
      Tests this plot for equality with another object.
      Overrides:
      equals in class Plot
      Parameters:
      obj - the object.
      Returns:
      true or false.
    • clone

      public Object clone() throws CloneNotSupportedException
      Returns a clone of the plot.
      Overrides:
      clone in class Plot
      Returns:
      A clone.
      Throws:
      CloneNotSupportedException - this can occur if some component of the plot cannot be cloned.