## 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:
  AxisChangeListener, java.lang.Cloneable, DatasetChangeListener, java.util.EventListener, PlotChangeListener, org.jfree.util.PublicCloneable, RendererChangeListener, java.io.Serializable, ValueAxisPlot

public class CombinedRangeXYPlot
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 range axis.

See Also:
  Serialized Form

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

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

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
`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, 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.
`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` `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`

Field Detail

### localizationResources

    protected static java.util.ResourceBundle localizationResources

  The resourceBundle for the localization.

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.

  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.

  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.

### getSubplots

    public java.util.List getSubplots()

  Returns the list of subplots.

  Returns:
    the 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,
                     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 state from the parent plot (if there is one).
    `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.

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

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

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