public class

CombinedDomainXYPlot

extends XYPlot
implements PlotChangeListener
java.lang.Object
   ↳ org.jfree.chart.plot.Plot
     ↳ org.jfree.chart.plot.XYPlot
       ↳ org.jfree.chart.plot.CombinedDomainXYPlot

Class Overview

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

Summary

[Expand]
Inherited Constants
From class org.jfree.chart.plot.XYPlot
From class org.jfree.chart.plot.Plot
[Expand]
Inherited Fields
From class org.jfree.chart.plot.XYPlot
From class org.jfree.chart.plot.Plot
Public Constructors
CombinedDomainXYPlot()
Default constructor.
CombinedDomainXYPlot(ValueAxis domainAxis)
Creates a new combined plot that shares a domain axis among multiple subplots.
Public Methods
void add(XYPlot subplot, int weight)
Adds a subplot with the specified weight and sends a PlotChangeEvent to all registered listeners.
void add(XYPlot subplot)
Adds a subplot (with a default 'weight' of 1) and sends a PlotChangeEvent to all registered listeners.
Object clone()
Returns a clone of the annotation.
void draw(Graphics2D g2, Rectangle2D area, Point2D anchor, PlotState parentState, PlotRenderingInfo info)
Draws the plot within the specified area on a graphics device.
boolean equals(Object obj)
Tests this plot for equality with another object.
XYPlot findSubplot(PlotRenderingInfo info, 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 gap between subplots, measured in Java2D units.
LegendItemCollection getLegendItems()
Returns a collection of legend items for the plot.
String getPlotType()
Returns a string describing the type of plot.
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.
void setFixedRangeAxisSpace(AxisSpace space)
Sets the fixed range axis space and sends a PlotChangeEvent to all registered listeners.
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 zoomRangeAxes(double factor, PlotRenderingInfo info, Point2D source)
Multiplies the range on the range axis/axes by the specified factor.
void zoomRangeAxes(double lowerPercent, double upperPercent, PlotRenderingInfo info, Point2D source)
Zooms in on the range axes.
void zoomRangeAxes(double factor, PlotRenderingInfo state, Point2D source, boolean useAnchor)
Multiplies the range on the range axis/axes by the specified factor.
Protected Methods
AxisSpace calculateAxisSpace(Graphics2D g2, Rectangle2D plotArea)
Calculates the axis space required.
void setFixedRangeAxisSpaceForSubplots(AxisSpace space)
Sets the size (width or height, depending on the orientation of the plot) for the domain axis of each subplot.
[Expand]
Inherited Methods
From class org.jfree.chart.plot.XYPlot
From class org.jfree.chart.plot.Plot
From class java.lang.Object
From interface org.jfree.chart.LegendItemSource
From interface org.jfree.chart.event.AxisChangeListener
From interface org.jfree.chart.event.MarkerChangeListener
From interface org.jfree.chart.event.PlotChangeListener
From interface org.jfree.chart.event.RendererChangeListener
From interface org.jfree.chart.plot.Pannable
From interface org.jfree.chart.plot.ValueAxisPlot
From interface org.jfree.chart.plot.Zoomable
From interface org.jfree.data.general.DatasetChangeListener

Public Constructors

public CombinedDomainXYPlot ()

Default constructor.

public CombinedDomainXYPlot (ValueAxis domainAxis)

Creates a new combined plot that shares a domain axis among multiple subplots.

Parameters
domainAxis the shared axis.

Public Methods

public void add (XYPlot subplot, int weight)

Adds a subplot with the specified weight and sends a PlotChangeEvent to all registered listeners. 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. You must ensure that the subplot has a non-null range axis.

Parameters
subplot the subplot (null not permitted).
weight the weight (must be >= 1).

public void add (XYPlot subplot)

Adds a subplot (with a default 'weight' of 1) and sends a PlotChangeEvent to all registered listeners.

The domain axis for the subplot will be set to null. You must ensure that the subplot has a non-null range axis.

Parameters
subplot the subplot (null not permitted).

public Object clone ()

Returns a clone of the annotation.

Returns
  • A clone.
Throws
CloneNotSupportedException this class will not throw this exception, but subclasses (if any) might.

public void draw (Graphics2D g2, Rectangle2D area, Point2D anchor, PlotState parentState, PlotRenderingInfo info)

Draws the plot within the specified area on a graphics device.

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

public boolean equals (Object obj)

Tests this plot for equality with another object.

Parameters
obj the other object.
Returns
  • true or false.

public XYPlot findSubplot (PlotRenderingInfo info, 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).

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 domain axis is shared between subplots, the JFreeChart code will only call this method for the domain values (although this is not checked/enforced).

Parameters
axis the axis.
Returns
  • The range (possibly null).

public double getGap ()

Returns the gap between subplots, measured in Java2D units.

Returns
  • The gap (in Java2D units).

public LegendItemCollection getLegendItems ()

Returns a collection of legend items for the plot.

Returns
  • The legend items.

public String getPlotType ()

Returns a string describing the type of plot.

Returns
  • The type of plot.

public List getSubplots ()

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

Returns
  • An unmodifiable list of subplots.

public void handleClick (int x, int y, PlotRenderingInfo info)

Handles a 'click' on the plot by updating the anchor values.

Parameters
x x-coordinate, where the click occured.
y y-coordinate, where the click occured.
info object containing information about the plot dimensions.

public void plotChanged (PlotChangeEvent event)

Receives a PlotChangeEvent and responds by notifying all listeners.

Parameters
event the event.

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

public void setFixedRangeAxisSpace (AxisSpace space)

Sets the fixed range axis space and sends a PlotChangeEvent to all registered listeners.

Parameters
space the space (null permitted).

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

public void setOrientation (PlotOrientation orientation)

Sets the orientation for the plot (also changes the orientation for all the subplots to match).

Parameters
orientation the orientation (null not allowed).

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.

Parameters
renderer the new renderer.

public void zoomRangeAxes (double factor, PlotRenderingInfo info, Point2D source)

Multiplies the range on the range axis/axes by the specified factor.

Parameters
factor the zoom factor.
info the plot rendering info (null not permitted).
source the source point (null not permitted).

public void zoomRangeAxes (double lowerPercent, double upperPercent, PlotRenderingInfo info, Point2D source)

Zooms in on the range axes.

Parameters
lowerPercent the lower bound.
upperPercent the upper bound.
info the plot rendering info (null not permitted).
source the source point (null not permitted).

public void zoomRangeAxes (double factor, PlotRenderingInfo state, Point2D source, boolean useAnchor)

Multiplies the range on the range axis/axes by the specified factor.

Parameters
factor the zoom factor.
state the plot state.
source the source point (in Java2D coordinates).
useAnchor use source point as zoom anchor?

Protected Methods

protected AxisSpace calculateAxisSpace (Graphics2D g2, Rectangle2D plotArea)

Calculates the axis space required.

Parameters
g2 the graphics device.
plotArea the plot area.
Returns
  • The space.

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.