Class CombinedDomainXYPlot

All Implemented Interfaces:
Serializable, Cloneable, EventListener, AxisChangeListener, PlotChangeListener, RendererChangeListener, ValueAxisPlot, DatasetChangeListener, org.jfree.util.PublicCloneable

public class CombinedDomainXYPlot
extends XYPlot
implements Cloneable, org.jfree.util.PublicCloneable, Serializable, PlotChangeListener
An extension of XYPlot that contains multiple subplots that share a common domain axis.
See Also:
Serialized Form
  • Constructor Details

    • CombinedDomainXYPlot

      public CombinedDomainXYPlot()
      Default constructor.
    • CombinedDomainXYPlot

      public CombinedDomainXYPlot​(ValueAxis domainAxis)
      Creates a new combined plot that shares a domain axis among multiple subplots.
      Parameters:
      domainAxis - the shared axis.
  • Method Details

    • getPlotType

      public String getPlotType()
      Returns a string describing the type of plot.
      Overrides:
      getPlotType in class XYPlot
      Returns:
      The type of plot.
    • setOrientation

      public void setOrientation​(PlotOrientation orientation)
      Sets the orientation for the plot (also changes the orientation for all the subplots to match).
      Overrides:
      setOrientation in class XYPlot
      Parameters:
      orientation - the orientation.
    • getDataRange

      public Range getDataRange​(ValueAxis axis)
      Returns the range for the axis. This is the combined range of all the subplots.
      Specified by:
      getDataRange in interface ValueAxisPlot
      Overrides:
      getDataRange in class XYPlot
      Parameters:
      axis - the axis.
      Returns:
      The range.
    • getGap

      public double getGap()
      Returns the space between subplots.
      Returns:
      The gap (in Java2D units).
    • setGap

      public void setGap​(double gap)
      Sets the amount of space between subplots and sends a PlotChangeEvent to all registered listeners.
      Parameters:
      gap - the gap between subplots (in Java2D units).
    • add

      public void add​(XYPlot subplot)
      Adds a subplot, with a default 'weight' of 1.

      The subplot should have a null domain axis.

      Parameters:
      subplot - the subplot.
    • add

      public void add​(XYPlot subplot, int weight)
      Adds a subplot with a particular weight (greater than or equal to one). The weight determines how much space is allocated to the subplot relative to all the other subplots.

      The domain axis for the subplot will be set to null.

      Parameters:
      subplot - the subplot.
      weight - the weight (must be 1 or greater).
    • remove

      public void remove​(XYPlot subplot)
      Removes a subplot from the combined chart and sends a PlotChangeEvent to all registered listeners.
      Parameters:
      subplot - the subplot (null not permitted).
    • getSubplots

      public List getSubplots()
      Returns the list of subplots.
      Returns:
      An unmodifiable list of subplots.
    • draw

      public void draw​(Graphics2D g2, Rectangle2D area, PlotState parentState, PlotRenderingInfo info)
      Draws the plot on a Java 2D graphics device (such as the screen or a printer). Will perform all the placement calculations for each sub-plots and then tell these to draw themselves.
      Overrides:
      draw in class XYPlot
      Parameters:
      g2 - the graphics device.
      area - the area within which the plot (including axis labels) should be drawn.
      parentState - the parent state.
      info - collects information about the drawing (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 XYPlot
      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).
    • getLegendItems

      public LegendItemCollection getLegendItems()
      Returns a collection of legend items for the plot.
      Overrides:
      getLegendItems in class XYPlot
      Returns:
      the legend items.
    • zoom

      public void zoom​(double percent)
      A zoom method that (currently) does nothing.
      Overrides:
      zoom in class XYPlot
      Parameters:
      percent - the zoom percentage.
    • setRenderer

      public void setRenderer​(XYItemRenderer renderer)
      Sets the item renderer FOR ALL SUBPLOTS. Registered listeners are notified that the plot has been modified.

      Note: usually you will want to set the renderer independently for each subplot, which is NOT what this method does.

      Overrides:
      setRenderer in class XYPlot
      Parameters:
      renderer - the new renderer.
    • 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 XYPlot
      Parameters:
      x - x-coordinate, where the click occured.
      y - y-coordinate, where the click occured.
      info - object containing information about the plot dimensions.
    • plotChanged

      public void plotChanged​(PlotChangeEvent event)
      Receives a PlotChangeEvent and responds by notifying all listeners.
      Specified by:
      plotChanged in interface PlotChangeListener
      Parameters:
      event - the event.
    • equals

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

      public Object clone() throws CloneNotSupportedException
      Returns a clone of the annotation.
      Specified by:
      clone in interface org.jfree.util.PublicCloneable
      Overrides:
      clone in class XYPlot
      Returns:
      A clone.
      Throws:
      CloneNotSupportedException - this class will not throw this exception, but subclasses (if any) might.