org.jfree.chart.plot

Class CombinedDomainXYPlot

public class CombinedDomainXYPlot extends XYPlot implements PlotChangeListener

An extension of XYPlot that contains multiple subplots that share a common domain axis.
Constructor Summary
CombinedDomainXYPlot()
Default constructor.
CombinedDomainXYPlot(ValueAxis domainAxis)
Creates a new combined plot that shares a domain axis among multiple subplots.
Method Summary
voidadd(XYPlot subplot)
Adds a subplot (with a default 'weight' of 1) and sends a PlotChangeEvent to all registered listeners.
voidadd(XYPlot subplot, int weight)
Adds a subplot with the specified weight and sends a PlotChangeEvent to all registered listeners.
protected AxisSpacecalculateAxisSpace(Graphics2D g2, Rectangle2D plotArea)
Calculates the axis space required.
Objectclone()
Returns a clone of the annotation.
voiddraw(Graphics2D g2, Rectangle2D area, Point2D anchor, PlotState parentState, PlotRenderingInfo info)
Draws the plot within the specified area on a graphics device.
booleanequals(Object obj)
Tests this plot for equality with another object.
XYPlotfindSubplot(PlotRenderingInfo info, Point2D source)
Returns the subplot (if any) that contains the (x, y) point (specified in Java2D space).
RangegetDataRange(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.
doublegetGap()
Returns the gap between subplots, measured in Java2D units.
LegendItemCollectiongetLegendItems()
Returns a collection of legend items for the plot.
StringgetPlotType()
Returns a string describing the type of plot.
ListgetSubplots()
Returns the list of subplots.
voidhandleClick(int x, int y, PlotRenderingInfo info)
Handles a 'click' on the plot by updating the anchor values.
voidplotChanged(PlotChangeEvent event)
Receives a PlotChangeEvent and responds by notifying all listeners.
voidremove(XYPlot subplot)
Removes a subplot from the combined chart and sends a PlotChangeEvent to all registered listeners.
voidsetFixedRangeAxisSpace(AxisSpace space)
Sets the fixed range axis space and sends a PlotChangeEvent to all registered listeners.
protected voidsetFixedRangeAxisSpaceForSubplots(AxisSpace space)
Sets the size (width or height, depending on the orientation of the plot) for the domain axis of each subplot.
voidsetGap(double gap)
Sets the amount of space between subplots and sends a PlotChangeEvent to all registered listeners.
voidsetOrientation(PlotOrientation orientation)
Sets the orientation for the plot (also changes the orientation for all the subplots to match).
voidsetRenderer(XYItemRenderer renderer)
Sets the item renderer FOR ALL SUBPLOTS.
voidzoomRangeAxes(double factor, PlotRenderingInfo info, Point2D source)
Multiplies the range on the range axis/axes by the specified factor.
voidzoomRangeAxes(double factor, PlotRenderingInfo state, Point2D source, boolean useAnchor)
Multiplies the range on the range axis/axes by the specified factor.
voidzoomRangeAxes(double lowerPercent, double upperPercent, PlotRenderingInfo info, Point2D source)
Zooms in on the range axes.

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

add

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

add

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

calculateAxisSpace

protected AxisSpace calculateAxisSpace(Graphics2D g2, Rectangle2D plotArea)
Calculates the axis space required.

Parameters: g2 the graphics device. plotArea the plot area.

Returns: The space.

clone

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.

draw

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

equals

public boolean equals(Object obj)
Tests this plot for equality with another object.

Parameters: obj the other object.

Returns: true or false.

findSubplot

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

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

getGap

public double getGap()
Returns the gap between subplots, measured in Java2D units.

Returns: The gap (in Java2D units).

getLegendItems

public LegendItemCollection getLegendItems()
Returns a collection of legend items for the plot.

Returns: The legend items.

getPlotType

public String getPlotType()
Returns a string describing the type of plot.

Returns: The type of plot.

getSubplots

public List getSubplots()
Returns the list of subplots. The returned list may be empty, but is never null.

Returns: An unmodifiable list of subplots.

handleClick

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.

plotChanged

public void plotChanged(PlotChangeEvent event)
Receives a PlotChangeEvent and responds by notifying all listeners.

Parameters: event the event.

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

setFixedRangeAxisSpace

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

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.

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

setOrientation

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

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.

Parameters: renderer the new renderer.

zoomRangeAxes

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

zoomRangeAxes

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?

zoomRangeAxes

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

Copyright © 2000-2009 by Object Refinery Limited. All Rights Reserved.