## org.jfree.chart.plot
Class CombinedRangeXYPlot

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

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

    public class CombinedRangeXYPlot

extends XYPlot
implements PlotChangeListener

An extension of `XYPlot` that contains multiple subplots that share a common range 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_LEGEND_ITEM_BOX, DEFAULT_LEGEND_ITEM_CIRCLE, DEFAULT_OUTLINE_PAINT, DEFAULT_OUTLINE_STROKE, MINIMUM_HEIGHT_TO_DRAW, MINIMUM_WIDTH_TO_DRAW, ZERO`

Constructor Summary
`CombinedRangeXYPlot()` Default constructor.
`CombinedRangeXYPlot(ValueAxis rangeAxis)` Creates a new plot.

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 space required for the axes.
`java.lang.Object` `clone()` Returns a clone of the plot.
`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.
`XYPlot` `findSubplot(PlotRenderingInfo info, java.awt.geom.Point2D source)` Returns the subplot (if any) that contains the (x, y) point (specified in Java2D space).
`Range` `getDataRange(ValueAxis axis)` Returns a range representing the extent of the data values in this plot (obtained from the subplots) that will be rendered against the specified 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.
`protected void` `setFixedDomainAxisSpaceForSubplots(AxisSpace space)` Sets the space (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.
`void` `setOrientation(PlotOrientation orientation)` Sets the orientation for the plot (and all its subplots).
`void` `setRenderer(XYItemRenderer renderer)` Sets the item renderer FOR ALL SUBPLOTS.
`void` `zoomDomainAxes(double lowerPercent, double upperPercent, PlotRenderingInfo info, java.awt.geom.Point2D source)` Zooms in on the domain 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.

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

`addAnnotation, addAnnotation, addDomainMarker, addDomainMarker, addDomainMarker, addDomainMarker, addRangeMarker, addRangeMarker, addRangeMarker, addRangeMarker, calculateDomainAxisSpace, calculateRangeAxisSpace, clearAnnotations, clearDomainAxes, clearDomainMarkers, clearDomainMarkers, clearRangeAxes, clearRangeMarkers, clearRangeMarkers, configureDomainAxes, configureRangeAxes, datasetChanged, drawAnnotations, drawAxes, drawBackground, drawDomainCrosshair, drawDomainGridlines, drawDomainMarkers, drawDomainTickBands, drawHorizontalLine, drawQuadrants, drawRangeCrosshair, drawRangeGridlines, drawRangeMarkers, drawRangeTickBands, drawVerticalLine, drawZeroDomainBaseline, drawZeroRangeBaseline, getAnnotations, getAxisOffset, getDataset, getDataset, getDatasetCount, getDatasetRenderingOrder, getDomainAxis, getDomainAxis, getDomainAxisCount, getDomainAxisEdge, getDomainAxisEdge, getDomainAxisForDataset, getDomainAxisIndex, getDomainAxisLocation, getDomainAxisLocation, getDomainCrosshairPaint, getDomainCrosshairStroke, getDomainCrosshairValue, getDomainGridlinePaint, getDomainGridlineStroke, getDomainMarkers, getDomainMarkers, getDomainTickBandPaint, getDomainZeroBaselinePaint, getDomainZeroBaselineStroke, getFixedDomainAxisSpace, getFixedLegendItems, getFixedRangeAxisSpace, getIndexOf, getOrientation, getQuadrantOrigin, getQuadrantPaint, getRangeAxis, getRangeAxis, getRangeAxisCount, getRangeAxisEdge, getRangeAxisEdge, getRangeAxisForDataset, getRangeAxisIndex, getRangeAxisLocation, getRangeAxisLocation, getRangeCrosshairPaint, getRangeCrosshairStroke, getRangeCrosshairValue, getRangeGridlinePaint, getRangeGridlineStroke, getRangeMarkers, getRangeMarkers, getRangeTickBandPaint, getRangeZeroBaselinePaint, getRangeZeroBaselineStroke, getRenderer, getRenderer, getRendererForDataset, getSeriesCount, getSeriesRenderingOrder, getWeight, indexOf, isDomainCrosshairLockedOnData, isDomainCrosshairVisible, isDomainGridlinesVisible, isDomainZeroBaselineVisible, isDomainZoomable, isRangeCrosshairLockedOnData, isRangeCrosshairVisible, isRangeGridlinesVisible, isRangeZeroBaselineVisible, isRangeZoomable, mapDatasetToDomainAxis, mapDatasetToRangeAxis, removeAnnotation, removeAnnotation, removeDomainMarker, removeDomainMarker, removeDomainMarker, removeDomainMarker, removeRangeMarker, removeRangeMarker, removeRangeMarker, removeRangeMarker, render, rendererChanged, setAxisOffset, setDataset, setDataset, setDatasetRenderingOrder, setDomainAxes, setDomainAxis, setDomainAxis, setDomainAxis, setDomainAxisLocation, setDomainAxisLocation, setDomainAxisLocation, setDomainAxisLocation, setDomainCrosshairLockedOnData, setDomainCrosshairPaint, setDomainCrosshairStroke, setDomainCrosshairValue, setDomainCrosshairValue, setDomainCrosshairVisible, setDomainGridlinePaint, setDomainGridlineStroke, setDomainGridlinesVisible, setDomainTickBandPaint, setDomainZeroBaselinePaint, setDomainZeroBaselineStroke, setDomainZeroBaselineVisible, setFixedDomainAxisSpace, setFixedDomainAxisSpace, setFixedLegendItems, setFixedRangeAxisSpace, setFixedRangeAxisSpace, setQuadrantOrigin, setQuadrantPaint, setRangeAxes, setRangeAxis, setRangeAxis, setRangeAxis, setRangeAxisLocation, setRangeAxisLocation, setRangeAxisLocation, setRangeAxisLocation, setRangeCrosshairLockedOnData, setRangeCrosshairPaint, setRangeCrosshairStroke, setRangeCrosshairValue, setRangeCrosshairValue, setRangeCrosshairVisible, setRangeGridlinePaint, setRangeGridlineStroke, setRangeGridlinesVisible, setRangeTickBandPaint, setRangeZeroBaselinePaint, setRangeZeroBaselineStroke, setRangeZeroBaselineVisible, setRenderer, setRenderer, setRenderers, setSeriesRenderingOrder, setWeight, zoomRangeAxes, zoomRangeAxes, zoomRangeAxes`

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

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

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

Constructor Detail

### CombinedRangeXYPlot

    public CombinedRangeXYPlot()

  Default constructor.

### CombinedRangeXYPlot

    public CombinedRangeXYPlot(ValueAxis rangeAxis)

  Creates a new plot.

  Parameters:
    `rangeAxis` - 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.

### getGap

    public double getGap()

  Returns the space between subplots.

  Returns:
    The gap

### setGap

    public void setGap(double gap)

  Sets the amount of space between subplots.

  Parameters:
    `gap` - the gap between subplots

### add

    public void add(XYPlot subplot)

  Adds a subplot, with a default 'weight' of 1.
  You must ensure that the subplot has a non-null domain axis. The range axis for the subplot will be set to `null`.

  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.
  You must ensure that the subplot has a non-null domain axis. The range 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.

  Parameters:
    `subplot` - the subplot (`null` not permitted).

### getSubplots

    public java.util.List getSubplots()

  Returns the list of subplots. The returned list may be empty, but is never `null`.

  Returns:
    An unmodifiable list of subplots.

### calculateAxisSpace

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

  Calculates the space required for the axes.

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

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

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

### 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`
  Overrides:
    `zoomDomainAxes` in class `XYPlot`
  Parameters:
    `factor` - the zoom factor.
    `info` - the plot rendering info (`null` not permitted).
    `source` - the source point (`null` not permitted).
  See Also:
    `XYPlot.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`
  Overrides:
    `zoomDomainAxes` in class `XYPlot`
  Parameters:
    `factor` - the zoom factor.
    `info` - the plot rendering info (`null` not permitted).
    `source` - the source point (`null` not permitted).
    `useAnchor` - zoom about the anchor point?
  See Also:
    `XYPlot.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 axes.

  Specified by:
    `zoomDomainAxes` in interface `Zoomable`
  Overrides:
    `zoomDomainAxes` in class `XYPlot`
  Parameters:
    `lowerPercent` - the lower bound.
    `upperPercent` - the upper bound.
    `info` - the plot rendering info (`null` not permitted).
    `source` - the source point (`null` not permitted).
  See Also:
    `XYPlot.zoomRangeAxes(double, double, PlotRenderingInfo, Point2D)`

### findSubplot

    public XYPlot findSubplot(PlotRenderingInfo info,
                              java.awt.geom.Point2D source)

  Returns the subplot (if any) that contains the (x, y) point (specified in Java2D space).

  Parameters:
    `info` - the chart rendering info (`null` not permitted).
    `source` - the source point (`null` not permitted).
  Returns:
    A subplot (possibly `null`).

### 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.
  See Also:
    `XYPlot.getRenderer()`

### setOrientation

    public void setOrientation(PlotOrientation orientation)

  Sets the orientation for the plot (and all its subplots).

  Overrides:
    `setOrientation` in class `XYPlot`
  Parameters:
    `orientation` - the orientation.
  See Also:
    `XYPlot.getOrientation()`

### getDataRange

    public Range getDataRange(ValueAxis axis)

  Returns a range representing the extent of the data values in this plot (obtained from the subplots) that will be rendered against the specified axis. NOTE: This method is intended for internal JFreeChart use, and is public only so that code in the axis classes can call it. Since only the range axis is shared between subplots, the JFreeChart code will only call this method for the range values (although this is not checked/enforced).

  Specified by:
    `getDataRange` in interface `ValueAxisPlot`
  Overrides:
    `getDataRange` in class `XYPlot`
  Parameters:
    `axis` - the axis.
  Returns:
    The range.

### setFixedDomainAxisSpaceForSubplots

    protected void setFixedDomainAxisSpaceForSubplots(AxisSpace space)

  Sets the space (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 plot.

  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.