Module org.jfree.chart
Package org.jfree.chart.plot
Class CombinedRangeXYPlot<S extends Comparable<S>>
- java.lang.Object
-
- org.jfree.chart.plot.Plot
-
- org.jfree.chart.plot.XYPlot<S>
-
- org.jfree.chart.plot.CombinedRangeXYPlot<S>
-
- All Implemented Interfaces:
Serializable,Cloneable,EventListener,PublicCloneable,ChartElement,AnnotationChangeListener,AxisChangeListener,MarkerChangeListener,PlotChangeListener,RendererChangeListener,org.jfree.chart.legend.LegendItemSource,Pannable,ValueAxisPlot,Zoomable,DatasetChangeListener
public class CombinedRangeXYPlot<S extends Comparable<S>> extends XYPlot<S> implements PlotChangeListener
An extension ofXYPlotthat 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
Constructors Constructor Description CombinedRangeXYPlot()Default constructor.CombinedRangeXYPlot(ValueAxis rangeAxis)Creates a new plot.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(XYPlot subplot)Adds a subplot, with a default 'weight' of 1.voidadd(XYPlot subplot, int weight)Adds a subplot with a particular weight (greater than or equal to one).protected AxisSpacecalculateAxisSpace(Graphics2D g2, Rectangle2D plotArea)Calculates the space required for the axes.Objectclone()Returns a clone of the plot.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 space between subplots.org.jfree.chart.legend.LegendItemCollectiongetLegendItems()Returns a collection of legend items for the plot.StringgetPlotType()Returns a string describing the type of plot.List<XYPlot>getSubplots()Returns the list of subplots.voidhandleClick(int x, int y, PlotRenderingInfo info)Handles a 'click' on the plot by updating the anchor values...booleanisDomainPannable()Returnstrueif the domain is pannable for at least one subplot, andfalseotherwise.voidpanDomainAxes(double panRange, PlotRenderingInfo info, Point2D source)Pans all domain axes by the specified percentage.voidplotChanged(PlotChangeEvent event)Receives aPlotChangeEventand responds by notifying all listeners.voidreceive(ChartElementVisitor visitor)Receives a chart element visitor.voidremove(XYPlot subplot)Removes a subplot from the combined chart.voidsetDomainPannable(boolean pannable)Sets the flag, on each of the subplots, that controls whether or not the domain is pannable.protected voidsetFixedDomainAxisSpaceForSubplots(AxisSpace space)Sets the space (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.voidsetOrientation(PlotOrientation orientation)Sets the orientation for the plot (and all its subplots).voidsetRenderer(XYItemRenderer renderer)Sets the item renderer FOR ALL SUBPLOTS.voidsetShadowGenerator(ShadowGenerator generator)Sets the shadow generator for the plot (and all subplots) and sends aPlotChangeEventto all registered listeners.voidzoomDomainAxes(double lowerPercent, double upperPercent, PlotRenderingInfo info, Point2D source)Zooms in on the domain axes.voidzoomDomainAxes(double factor, PlotRenderingInfo info, Point2D source)Multiplies the range on the domain axis/axes by the specified factor.voidzoomDomainAxes(double factor, PlotRenderingInfo info, 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, annotationChanged, 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, getDatasets, getDomainAxes, getDomainAxis, getDomainAxis, getDomainAxisCount, getDomainAxisEdge, getDomainAxisEdge, getDomainAxisForDataset, getDomainAxisIndex, getDomainAxisLocation, getDomainAxisLocation, getDomainCrosshairPaint, getDomainCrosshairStroke, getDomainCrosshairValue, getDomainGridlinePaint, getDomainGridlineStroke, getDomainMarkers, getDomainMarkers, getDomainMinorGridlinePaint, getDomainMinorGridlineStroke, getDomainTickBandPaint, getDomainZeroBaselinePaint, getDomainZeroBaselineStroke, getFixedDomainAxisSpace, getFixedLegendItems, getFixedRangeAxisSpace, getIndexOf, getOrientation, getQuadrantOrigin, getQuadrantPaint, getRangeAxes, getRangeAxis, getRangeAxis, getRangeAxisCount, getRangeAxisEdge, getRangeAxisEdge, getRangeAxisForDataset, getRangeAxisIndex, getRangeAxisLocation, getRangeAxisLocation, getRangeCrosshairPaint, getRangeCrosshairStroke, getRangeCrosshairValue, getRangeGridlinePaint, getRangeGridlineStroke, getRangeMarkers, getRangeMarkers, getRangeMinorGridlinePaint, getRangeMinorGridlineStroke, getRangeTickBandPaint, getRangeZeroBaselinePaint, getRangeZeroBaselineStroke, getRenderer, getRenderer, getRendererCount, getRendererForDataset, getRenderers, getSeriesCount, getSeriesRenderingOrder, getShadowGenerator, getWeight, hashCode, indexOf, isDomainCrosshairLockedOnData, isDomainCrosshairVisible, isDomainGridlinesVisible, isDomainMinorGridlinesVisible, isDomainZeroBaselineVisible, isDomainZoomable, isRangeCrosshairLockedOnData, isRangeCrosshairVisible, isRangeGridlinesVisible, isRangeMinorGridlinesVisible, isRangePannable, isRangeZeroBaselineVisible, isRangeZoomable, mapDatasetToDomainAxes, mapDatasetToDomainAxis, mapDatasetToRangeAxes, mapDatasetToRangeAxis, panRangeAxes, 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, setDomainMinorGridlinePaint, setDomainMinorGridlineStroke, setDomainMinorGridlinesVisible, 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, setRangeMinorGridlinePaint, setRangeMinorGridlineStroke, setRangeMinorGridlinesVisible, setRangePannable, setRangeTickBandPaint, setRangeZeroBaselinePaint, setRangeZeroBaselineStroke, setRangeZeroBaselineVisible, setRenderer, setRenderer, setRenderers, setSeriesRenderingOrder, setWeight, zoomRangeAxes, zoomRangeAxes, zoomRangeAxes
-
Methods inherited from class org.jfree.chart.plot.Plot
addChangeListener, axisChanged, createAndAddEntity, drawBackgroundImage, drawNoDataMessage, drawOutline, fetchElementHintingFlag, fillBackground, fillBackground, fireChangeEvent, getBackgroundAlpha, getBackgroundImage, getBackgroundImageAlignment, getBackgroundImageAlpha, getBackgroundPaint, getChart, 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, setChart, setDrawingSupplier, setDrawingSupplier, setForegroundAlpha, setInsets, setInsets, setNoDataMessage, setNoDataMessageFont, setNoDataMessagePaint, setNotify, setOutlinePaint, setOutlineStroke, setOutlineVisible, setParent, zoom
-
-
-
-
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 String getPlotType()
Returns a string describing the type of plot.- Overrides:
getPlotTypein classXYPlot<S extends Comparable<S>>- Returns:
- The type of plot.
-
getGap
public double getGap()
Returns the space between subplots.- Returns:
- The gap.
- See Also:
setGap(double)
-
setGap
public void setGap(double gap)
Sets the amount of space between subplots.- Parameters:
gap- the gap between subplots.- See Also:
getGap()
-
isDomainPannable
public boolean isDomainPannable()
Returnstrueif the domain is pannable for at least one subplot, andfalseotherwise.- Specified by:
isDomainPannablein interfacePannable- Overrides:
isDomainPannablein classXYPlot<S extends Comparable<S>>- Returns:
- A boolean.
-
setDomainPannable
public void setDomainPannable(boolean pannable)
Sets the flag, on each of the subplots, that controls whether or not the domain is pannable.- Overrides:
setDomainPannablein classXYPlot<S extends Comparable<S>>- Parameters:
pannable- the new flag value.
-
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 tonull.- 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 tonull.- Parameters:
subplot- the subplot (nullnot permitted).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 (nullnot permitted).
-
getSubplots
public List<XYPlot> getSubplots()
Returns the list of subplots. The returned list may be empty, but is nevernull.- Returns:
- An unmodifiable list of subplots.
-
calculateAxisSpace
protected AxisSpace calculateAxisSpace(Graphics2D g2, Rectangle2D plotArea)
Calculates the space required for the axes.- Overrides:
calculateAxisSpacein classXYPlot<S extends Comparable<S>>- Parameters:
g2- the graphics device.plotArea- the plot area.- Returns:
- The space required for the axes.
-
receive
public void receive(ChartElementVisitor visitor)
Receives a chart element visitor. Many plot subclasses will override this method to handle their subcomponents.- Specified by:
receivein interfaceChartElement- Overrides:
receivein classXYPlot<S extends Comparable<S>>- Parameters:
visitor- the visitor (nullnot permitted).
-
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.- Overrides:
drawin classXYPlot<S extends Comparable<S>>- Parameters:
g2- the graphics device.area- the plot area (in Java2D space).anchor- an anchor point in Java2D space (nullpermitted).parentState- the state from the parent plot, if there is one (nullpermitted).info- collects chart drawing information (nullpermitted).
-
getLegendItems
public org.jfree.chart.legend.LegendItemCollection getLegendItems()
Returns a collection of legend items for the plot.- Specified by:
getLegendItemsin interfaceorg.jfree.chart.legend.LegendItemSource- Overrides:
getLegendItemsin classXYPlot<S extends Comparable<S>>- Returns:
- The legend items.
-
zoomDomainAxes
public void zoomDomainAxes(double factor, PlotRenderingInfo info, Point2D source)
Multiplies the range on the domain axis/axes by the specified factor.- Specified by:
zoomDomainAxesin interfaceZoomable- Overrides:
zoomDomainAxesin classXYPlot<S extends Comparable<S>>- Parameters:
factor- the zoom factor.info- the plot rendering info (nullnot permitted).source- the source point (nullnot permitted).- See Also:
XYPlot.zoomRangeAxes(double, PlotRenderingInfo, Point2D)
-
zoomDomainAxes
public void zoomDomainAxes(double factor, PlotRenderingInfo info, Point2D source, boolean useAnchor)
Multiplies the range on the domain axis/axes by the specified factor.- Specified by:
zoomDomainAxesin interfaceZoomable- Overrides:
zoomDomainAxesin classXYPlot<S extends Comparable<S>>- Parameters:
factor- the zoom factor.info- the plot rendering info (nullnot permitted).source- the source point (nullnot 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, Point2D source)
Zooms in on the domain axes.- Specified by:
zoomDomainAxesin interfaceZoomable- Overrides:
zoomDomainAxesin classXYPlot<S extends Comparable<S>>- Parameters:
lowerPercent- the lower bound.upperPercent- the upper bound.info- the plot rendering info (nullnot permitted).source- the source point (nullnot permitted).- See Also:
XYPlot.zoomRangeAxes(double, double, PlotRenderingInfo, Point2D)
-
panDomainAxes
public void panDomainAxes(double panRange, PlotRenderingInfo info, Point2D source)
Pans all domain axes by the specified percentage.- Specified by:
panDomainAxesin interfacePannable- Overrides:
panDomainAxesin classXYPlot<S extends Comparable<S>>- Parameters:
panRange- the distance to pan (as a percentage of the axis length).info- the plot infosource- the source point where the pan action started.
-
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 (nullnot permitted).source- the source point (nullnot 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:
setRendererin classXYPlot<S extends Comparable<S>>- 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:
setOrientationin classXYPlot<S extends Comparable<S>>- Parameters:
orientation- the orientation.- See Also:
XYPlot.getOrientation()
-
setShadowGenerator
public void setShadowGenerator(ShadowGenerator generator)
Sets the shadow generator for the plot (and all subplots) and sends aPlotChangeEventto all registered listeners.- Overrides:
setShadowGeneratorin classXYPlot<S extends Comparable<S>>- Parameters:
generator- the new generator (nullpermitted).
-
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:
getDataRangein interfaceValueAxisPlot- Overrides:
getDataRangein classXYPlot<S extends Comparable<S>>- 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:
handleClickin classXYPlot<S extends Comparable<S>>- 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 aPlotChangeEventand responds by notifying all listeners.- Specified by:
plotChangedin interfacePlotChangeListener- Parameters:
event- the event.
-
equals
public boolean equals(Object obj)
Tests this plot for equality with another object.- Overrides:
equalsin classXYPlot<S extends Comparable<S>>- Parameters:
obj- the other object.- Returns:
trueorfalse.
-
clone
public Object clone() throws CloneNotSupportedException
Returns a clone of the plot.- Specified by:
clonein interfacePublicCloneable- Overrides:
clonein classXYPlot<S extends Comparable<S>>- Returns:
- A clone.
- Throws:
CloneNotSupportedException- this class will not throw this exception, but subclasses (if any) might.
-
-