## org.jfree.chart.plot
Class CombinedRangeCategoryPlot

    java.lang.Object
      org.jfree.chart.plot.Plot
          org.jfree.chart.plot.CategoryPlot
              org.jfree.chart.plot.CombinedRangeCategoryPlot

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

    public class CombinedRangeCategoryPlot

extends CategoryPlot
implements PlotChangeListener

A combined category plot where the range axis is shared.

See Also:
  Serialized Form

Field Summary

Fields inherited from class org.jfree.chart.plot.CategoryPlot
`DEFAULT_CROSSHAIR_PAINT, DEFAULT_CROSSHAIR_STROKE, DEFAULT_CROSSHAIR_VISIBLE, DEFAULT_DOMAIN_GRIDLINES_VISIBLE, DEFAULT_GRIDLINE_PAINT, DEFAULT_GRIDLINE_STROKE, DEFAULT_RANGE_GRIDLINES_VISIBLE, DEFAULT_VALUE_LABEL_FONT, 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
`CombinedRangeCategoryPlot()` Default constructor.
`CombinedRangeCategoryPlot(ValueAxis rangeAxis)` Creates a new plot.

Method Summary
`void` `add(CategoryPlot subplot)` Adds a subplot (with a default 'weight' of 1) and sends a `PlotChangeEvent` to all registered listeners.
`void` `add(CategoryPlot subplot, int weight)` Adds a subplot and sends a `PlotChangeEvent` to all registered listeners.
`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 on a Java 2D graphics device (such as the screen or a printer).
`boolean` `equals(java.lang.Object obj)` Tests the plot for equality with an arbitrary object.
`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.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 value.
`void` `plotChanged(PlotChangeEvent event)` Receives a `PlotChangeEvent` and responds by notifying all listeners.
`void` `remove(CategoryPlot subplot)` Removes a subplot from the combined chart.
`protected void` `setFixedDomainAxisSpaceForSubplots(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 (and all the subplots).

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

`addAnnotation, addAnnotation, addDomainMarker, addDomainMarker, addDomainMarker, addDomainMarker, addRangeMarker, addRangeMarker, addRangeMarker, addRangeMarker, annotationChanged, calculateDomainAxisSpace, calculateRangeAxisSpace, clearAnnotations, clearDomainAxes, clearDomainMarkers, clearDomainMarkers, clearRangeAxes, clearRangeMarkers, clearRangeMarkers, configureDomainAxes, configureRangeAxes, datasetChanged, drawAnnotations, drawAxes, drawBackground, drawDomainCrosshair, drawDomainGridlines, drawDomainMarkers, drawRangeCrosshair, drawRangeGridlines, drawRangeLine, drawRangeMarkers, drawZeroRangeBaseline, getAnchorValue, getAnnotations, getAxisOffset, getCategories, getCategoriesForAxis, getColumnRenderingOrder, getCrosshairDatasetIndex, getDataset, getDataset, getDatasetCount, getDatasetRenderingOrder, getDomainAxis, getDomainAxis, getDomainAxisCount, getDomainAxisEdge, getDomainAxisEdge, getDomainAxisForDataset, getDomainAxisIndex, getDomainAxisLocation, getDomainAxisLocation, getDomainCrosshairColumnKey, getDomainCrosshairPaint, getDomainCrosshairRowKey, getDomainCrosshairStroke, getDomainGridlinePaint, getDomainGridlinePosition, getDomainGridlineStroke, getDomainMarkers, getDomainMarkers, getDrawSharedDomainAxis, getFixedDomainAxisSpace, getFixedLegendItems, getFixedRangeAxisSpace, getIndexOf, getOrientation, getPlotType, getRangeAxis, getRangeAxis, getRangeAxisCount, getRangeAxisEdge, getRangeAxisEdge, getRangeAxisForDataset, getRangeAxisIndex, getRangeAxisLocation, getRangeAxisLocation, getRangeCrosshairPaint, getRangeCrosshairStroke, getRangeCrosshairValue, getRangeGridlinePaint, getRangeGridlineStroke, getRangeMarkers, getRangeMarkers, getRangeMinorGridlinePaint, getRangeMinorGridlineStroke, getRangeZeroBaselinePaint, getRangeZeroBaselineStroke, getRenderer, getRenderer, getRendererCount, getRendererForDataset, getRowRenderingOrder, getShadowGenerator, getWeight, indexOf, isDomainCrosshairVisible, isDomainGridlinesVisible, isDomainPannable, isDomainZoomable, isRangeCrosshairLockedOnData, isRangeCrosshairVisible, isRangeGridlinesVisible, isRangeMinorGridlinesVisible, isRangePannable, isRangeZeroBaselineVisible, isRangeZoomable, mapDatasetToDomainAxes, mapDatasetToDomainAxis, mapDatasetToRangeAxes, mapDatasetToRangeAxis, panDomainAxes, panRangeAxes, removeAnnotation, removeAnnotation, removeDomainMarker, removeDomainMarker, removeDomainMarker, removeDomainMarker, removeRangeMarker, removeRangeMarker, removeRangeMarker, removeRangeMarker, render, rendererChanged, setAnchorValue, setAnchorValue, setAxisOffset, setColumnRenderingOrder, setCrosshairDatasetIndex, setCrosshairDatasetIndex, setDataset, setDataset, setDatasetRenderingOrder, setDomainAxes, setDomainAxis, setDomainAxis, setDomainAxis, setDomainAxisLocation, setDomainAxisLocation, setDomainAxisLocation, setDomainAxisLocation, setDomainCrosshairColumnKey, setDomainCrosshairColumnKey, setDomainCrosshairPaint, setDomainCrosshairRowKey, setDomainCrosshairRowKey, setDomainCrosshairStroke, setDomainCrosshairVisible, setDomainGridlinePaint, setDomainGridlinePosition, setDomainGridlineStroke, setDomainGridlinesVisible, setDrawSharedDomainAxis, setFixedDomainAxisSpace, setFixedDomainAxisSpace, setFixedLegendItems, setFixedRangeAxisSpace, setFixedRangeAxisSpace, setRangeAxes, setRangeAxis, setRangeAxis, setRangeAxis, setRangeAxisLocation, setRangeAxisLocation, setRangeAxisLocation, setRangeAxisLocation, setRangeCrosshairLockedOnData, setRangeCrosshairPaint, setRangeCrosshairStroke, setRangeCrosshairValue, setRangeCrosshairValue, setRangeCrosshairVisible, setRangeGridlinePaint, setRangeGridlineStroke, setRangeGridlinesVisible, setRangeMinorGridlinePaint, setRangeMinorGridlineStroke, setRangeMinorGridlinesVisible, setRangePannable, setRangeZeroBaselinePaint, setRangeZeroBaselineStroke, setRangeZeroBaselineVisible, setRenderer, setRenderer, setRenderer, setRenderer, setRenderers, setRowRenderingOrder, setShadowGenerator, setWeight, zoom, zoomDomainAxes, zoomDomainAxes, zoomDomainAxes, zoomRangeAxes, zoomRangeAxes, zoomRangeAxes`

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

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

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

Constructor Detail

### CombinedRangeCategoryPlot

    public CombinedRangeCategoryPlot()

  Default constructor.

### CombinedRangeCategoryPlot

    public CombinedRangeCategoryPlot(ValueAxis rangeAxis)

  Creates a new plot.

  Parameters:
    `rangeAxis` - the shared range axis.

Method Detail

### 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(CategoryPlot subplot)

  Adds a subplot (with a default 'weight' of 1) and sends a `PlotChangeEvent` to all registered listeners.
  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 (`null` not permitted).

### add

    public void add(CategoryPlot subplot,
                    int weight)

  Adds a subplot and sends a `PlotChangeEvent` to all registered listeners.
  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 (`null` not permitted).
    `weight` - the weight (must be >= 1).

### remove

    public void remove(CategoryPlot 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 `CategoryPlot`
  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 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 `CategoryPlot`
  Parameters:
    `g2` - the graphics device.
    `area` - the area within which the plot (including axis labels) should be drawn.
    `anchor` - the anchor point (`null` permitted).
    `parentState` - the parent state.
    `info` - collects information about the drawing (`null` permitted).

### setOrientation

    public void setOrientation(PlotOrientation orientation)

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

  Overrides:
    `setOrientation` in class `CategoryPlot`
  Parameters:
    `orientation` - the orientation.
  See Also:
    `CategoryPlot.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 `CategoryPlot`
  Parameters:
    `axis` - the axis.
  Returns:
    The range.

### getLegendItems

    public LegendItemCollection getLegendItems()

  Returns a collection of legend items for the plot.

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

### setFixedDomainAxisSpaceForSubplots

    protected void setFixedDomainAxisSpaceForSubplots(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 value.

  Overrides:
    `handleClick` in class `CategoryPlot`
  Parameters:
    `x` - x-coordinate of the click.
    `y` - y-coordinate of the click.
    `info` - information about the plot's 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 the plot for equality with an arbitrary object.

  Overrides:
    `equals` in class `CategoryPlot`
  Parameters:
    `obj` - the object (`null` permitted).
  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 `CategoryPlot`
  Returns:
    A clone.
  Throws:
    `java.lang.CloneNotSupportedException` - this class will not throw this exception, but subclasses (if any) might.