## org.jfree.chart.plot
Class CombinedDomainXYPlot

    java.lang.Object
      org.jfree.chart.plot.Plot
          org.jfree.chart.plot.XYPlot
              org.jfree.chart.plot.CombinedDomainXYPlot

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

public class CombinedDomainXYPlot
extends XYPlot
implements java.lang.Cloneable, org.jfree.util.PublicCloneable, java.io.Serializable, PlotChangeListener

An extension of `XYPlot` that contains multiple subplots that share a common domain axis.

See Also:
  Serialized Form

Field Summary

Fields inherited from class org.jfree.chart.plot.XYPlot
`DEFAULT_CROSSHAIR_PAINT, DEFAULT_CROSSHAIR_STROKE, DEFAULT_CROSSHAIR_VISIBLE, DEFAULT_GRIDLINE_PAINT, DEFAULT_GRIDLINE_STROKE, localizationResources`

Fields inherited from class org.jfree.chart.plot.Plot
`DEFAULT_BACKGROUND_ALPHA, DEFAULT_BACKGROUND_PAINT, DEFAULT_FOREGROUND_ALPHA, DEFAULT_INSETS, DEFAULT_OUTLINE_PAINT, DEFAULT_OUTLINE_STROKE, MINIMUM_HEIGHT_TO_DRAW, MINIMUM_WIDTH_TO_DRAW, ZERO`

Constructor Summary
`CombinedDomainXYPlot()` Default constructor.
`CombinedDomainXYPlot(ValueAxis domainAxis)` Creates a new combined plot that shares a domain axis among multiple subplots.

Method Summary
`void` `add(XYPlot subplot)` Adds a subplot, with a default 'weight' of 1.
`void` `add(XYPlot subplot, int weight)` Adds a subplot with a particular weight (greater than or equal to one).
`protected AxisSpace` `calculateAxisSpace(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D plotArea)` Calculates the axis space required.
`java.lang.Object` `clone()` Returns a clone of the annotation.
`void` `draw(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area, PlotState parentState, PlotRenderingInfo info)` Draws the plot on a Java 2D graphics device (such as the screen or a printer).
`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.
`boolean` `equals(java.lang.Object obj)` Tests this plot for equality with another object.
`Range` `getDataRange(ValueAxis axis)` Returns the range for the axis.
`double` `getGap()` Returns the space between subplots.
`LegendItemCollection` `getLegendItems()` Returns a collection of legend items for the plot.
`java.lang.String` `getPlotType()` Returns a string describing the type of plot.
`java.util.List` `getSubplots()` Returns the list of subplots.
`void` `handleClick(int x, int y, PlotRenderingInfo info)` Handles a 'click' on the plot by updating the anchor values...
`void` `plotChanged(PlotChangeEvent event)` Receives a `PlotChangeEvent` and responds by notifying all listeners.
`void` `remove(XYPlot subplot)` Removes a subplot from the combined chart and sends a `PlotChangeEvent` to all registered listeners.
`protected void` `setFixedRangeAxisSpaceForSubplots(AxisSpace space)` Sets the size (width or height, depending on the orientation of the plot) for the domain axis of each subplot.
`void` `setGap(double gap)` Sets the amount of space between subplots and sends a `PlotChangeEvent` to all registered listeners.
`void` `setOrientation(PlotOrientation orientation)` Sets the orientation for the plot (also changes the orientation for all the subplots to match).
`void` `setRenderer(XYItemRenderer renderer)` Sets the item renderer FOR ALL SUBPLOTS.
`void` `zoom(double percent)` A zoom method that (currently) does nothing.

Methods inherited from class org.jfree.chart.plot.XYPlot

`addAnnotation, addDomainMarker, addDomainMarker, addDomainMarker, addRangeMarker, addRangeMarker, addRangeMarker, calculateDomainAxisSpace, calculateRangeAxisSpace, clearAnnotations, clearDomainAxes, clearDomainMarkers, clearRangeAxes, clearRangeMarkers, clearRangeMarkers, configureDomainAxes, configureRangeAxes, datasetChanged, drawAnnotations, drawAxes, drawBackground, drawDomainGridlines, drawDomainMarkers, drawDomainMarkers, drawDomainTickBands, drawHorizontalLine, drawQuadrants, drawRangeGridlines, drawRangeMarkers, drawRangeMarkers, drawRangeTickBands, drawVerticalLine, getAxisOffset, getDataset, getDataset, getDatasetCount, getDatasetRenderingOrder, getDomainAxis, getDomainAxis, getDomainAxisCount, getDomainAxisEdge, getDomainAxisEdge, getDomainAxisForDataset, getDomainAxisLocation, getDomainAxisLocation, getDomainCrosshairPaint, getDomainCrosshairStroke, getDomainCrosshairValue, getDomainGridlinePaint, getDomainGridlineStroke, getDomainMarkers, getDomainMarkers, getDomainTickBandPaint, getFixedDomainAxisSpace, getFixedLegendItems, getFixedRangeAxisSpace, getOrientation, getQuadrantOrigin, getQuadrantPaint, getRangeAxis, getRangeAxis, getRangeAxisCount, getRangeAxisEdge, getRangeAxisEdge, getRangeAxisForDataset, getRangeAxisLocation, getRangeAxisLocation, getRangeCrosshairPaint, getRangeCrosshairStroke, getRangeCrosshairValue, getRangeGridlinePaint, getRangeGridlineStroke, getRangeMarkers, getRangeMarkers, getRangeTickBandPaint, getRenderer, getRenderer, getRendererForDataset, getSeriesCount, getWeight, indexOf, isDomainCrosshairLockedOnData, isDomainCrosshairVisible, isDomainGridlinesVisible, isRangeCrosshairLockedOnData, isRangeCrosshairVisible, isRangeGridlinesVisible, mapDatasetToDomainAxis, mapDatasetToRangeAxis, render, rendererChanged, setAxisOffset, setDataset, setDataset, setDatasetRenderingOrder, setDomainAxis, setDomainAxis, setDomainAxisLocation, setDomainAxisLocation, setDomainAxisLocation, setDomainCrosshairLockedOnData, setDomainCrosshairPaint, setDomainCrosshairStroke, setDomainCrosshairValue, setDomainCrosshairValue, setDomainCrosshairVisible, setDomainGridlinePaint, setDomainGridlineStroke, setDomainGridlinesVisible, setDomainTickBandPaint, setFixedDomainAxisSpace, setFixedLegendItems, setFixedRangeAxisSpace, setQuadrantOrigin, setQuadrantPaint, setRangeAxis, setRangeAxis, setRangeAxisLocation, setRangeAxisLocation, setRangeAxisLocation, setRangeCrosshairLockedOnData, setRangeCrosshairPaint, setRangeCrosshairStroke, setRangeCrosshairValue, setRangeCrosshairValue, setRangeCrosshairVisible, setRangeGridlinePaint, setRangeGridlineStroke, setRangeGridlinesVisible, setRangeTickBandPaint, setRenderer, setWeight, zoomHorizontalAxes, zoomHorizontalAxes, zoomVerticalAxes, zoomVerticalAxes`

Methods inherited from class org.jfree.chart.plot.Plot

`addChangeListener, axisChanged, drawBackgroundImage, drawNoDataMessage, drawOutline, fillBackground, getBackgroundAlpha, getBackgroundImage, getBackgroundImageAlignment, getBackgroundPaint, getDataAreaRatio, getDatasetGroup, getDrawingSupplier, getForegroundAlpha, getInsets, getNoDataMessage, getNoDataMessageFont, getNoDataMessagePaint, getOutlinePaint, getOutlineStroke, getParent, getRectX, getRectY, getRootPlot, isSubplot, notifyListeners, removeChangeListener, resolveDomainAxisLocation, resolveRangeAxisLocation, setBackgroundAlpha, setBackgroundImage, setBackgroundImageAlignment, setBackgroundPaint, setDataAreaRatio, setDatasetGroup, setDrawingSupplier, setForegroundAlpha, setInsets, setInsets, setNoDataMessage, setNoDataMessageFont, setNoDataMessagePaint, setOutlinePaint, setOutlineStroke, setParent`

Methods inherited from class java.lang.Object
`finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### 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 Detail

### getPlotType

    public java.lang.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 java.util.List getSubplots()

  Returns the list of subplots.

  Returns:
    An unmodifiable list of subplots.

### calculateAxisSpace

    protected AxisSpace calculateAxisSpace(java.awt.Graphics2D g2,
                                           java.awt.geom.Rectangle2D plotArea)

  Calculates the axis space required.

  Overrides:
    `calculateAxisSpace` in class `XYPlot`
  Parameters:
    `g2` - the graphics device.
    `plotArea` - the plot area.
  Returns:
    The space.

### draw

    public void draw(java.awt.Graphics2D g2,
                     java.awt.geom.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(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.

  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.

### setFixedRangeAxisSpaceForSubplots

    protected void setFixedRangeAxisSpaceForSubplots(AxisSpace space)

  Sets the size (width or height, depending on the orientation of the plot) for the domain axis of each subplot.

  Parameters:
    `space` - the space.

### 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(java.lang.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 java.lang.Object clone()
                           throws java.lang.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:
    `java.lang.CloneNotSupportedException` - this class will not throw this exception, but subclasses (if any) might.