public class CombinedRangeXYPlot extends XYPlot implements PlotChangeListener
XYPlot that contains multiple subplots that share a
common range axis.DEFAULT_CROSSHAIR_PAINT, DEFAULT_CROSSHAIR_STROKE, DEFAULT_CROSSHAIR_VISIBLE, DEFAULT_GRIDLINE_PAINT, DEFAULT_GRIDLINE_STROKE, localizationResourcesDEFAULT_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 and Description |
|---|
CombinedRangeXYPlot()
Default constructor.
|
CombinedRangeXYPlot(ValueAxis rangeAxis)
Creates a new plot.
|
| Modifier and Type | Method and Description |
|---|---|
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,
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.
|
XYPlot |
findSubplot(PlotRenderingInfo info,
java.awt.geom.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 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...
|
boolean |
isDomainPannable()
Returns
true if the domain is pannable for at least one subplot,
and false otherwise. |
void |
panDomainAxes(double panRange,
PlotRenderingInfo info,
java.awt.geom.Point2D source)
Pans all domain axes by the specified percentage.
|
void |
plotChanged(PlotChangeEvent event)
Receives a
PlotChangeEvent and responds by notifying all
listeners. |
void |
remove(XYPlot subplot)
Removes a subplot from the combined chart.
|
void |
setDomainPannable(boolean pannable)
Sets the flag, on each of the subplots, that controls whether or not the
domain is pannable.
|
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 |
setShadowGenerator(ShadowGenerator generator)
Sets the shadow generator for the plot (and all subplots) and sends
a
PlotChangeEvent to all registered listeners. |
void |
zoomDomainAxes(double lowerPercent,
double upperPercent,
PlotRenderingInfo info,
java.awt.geom.Point2D source)
Zooms in on the domain axes.
|
void |
zoomDomainAxes(double factor,
PlotRenderingInfo info,
java.awt.geom.Point2D source)
Multiplies the range on the domain axis/axes by the specified factor.
|
void |
zoomDomainAxes(double factor,
PlotRenderingInfo info,
java.awt.geom.Point2D source,
boolean useAnchor)
Multiplies the range on the domain axis/axes by the specified factor.
|
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, 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, 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, getSeriesCount, getSeriesRenderingOrder, getShadowGenerator, getWeight, 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, zoomRangeAxesaddChangeListener, 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, zoompublic CombinedRangeXYPlot()
public CombinedRangeXYPlot(ValueAxis rangeAxis)
rangeAxis - the shared axis.public java.lang.String getPlotType()
getPlotType in class XYPlotpublic double getGap()
setGap(double)public void setGap(double gap)
gap - the gap between subplots.getGap()public boolean isDomainPannable()
true if the domain is pannable for at least one subplot,
and false otherwise.isDomainPannable in interface PannableisDomainPannable in class XYPlotpublic void setDomainPannable(boolean pannable)
setDomainPannable in class XYPlotpannable - the new flag value.public void add(XYPlot subplot)
null.subplot - the subplot.public void add(XYPlot subplot, int weight)
null.subplot - the subplot (null not permitted).weight - the weight (must be 1 or greater).public void remove(XYPlot subplot)
subplot - the subplot (null not permitted).public java.util.List getSubplots()
null.protected AxisSpace calculateAxisSpace(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D plotArea)
calculateAxisSpace in class XYPlotg2 - the graphics device.plotArea - the plot area.public void draw(java.awt.Graphics2D g2,
java.awt.geom.Rectangle2D area,
java.awt.geom.Point2D anchor,
PlotState parentState,
PlotRenderingInfo info)
draw in class XYPlotg2 - 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 LegendItemCollection getLegendItems()
getLegendItems in interface LegendItemSourcegetLegendItems in class XYPlotpublic void zoomDomainAxes(double factor,
PlotRenderingInfo info,
java.awt.geom.Point2D source)
zoomDomainAxes in interface ZoomablezoomDomainAxes in class XYPlotfactor - the zoom factor.info - the plot rendering info (null not permitted).source - the source point (null not permitted).XYPlot.zoomRangeAxes(double, PlotRenderingInfo, Point2D)public void zoomDomainAxes(double factor,
PlotRenderingInfo info,
java.awt.geom.Point2D source,
boolean useAnchor)
zoomDomainAxes in interface ZoomablezoomDomainAxes in class XYPlotfactor - the zoom factor.info - the plot rendering info (null not permitted).source - the source point (null not permitted).useAnchor - zoom about the anchor point?XYPlot.zoomRangeAxes(double, PlotRenderingInfo, Point2D, boolean)public void zoomDomainAxes(double lowerPercent,
double upperPercent,
PlotRenderingInfo info,
java.awt.geom.Point2D source)
zoomDomainAxes in interface ZoomablezoomDomainAxes in class XYPlotlowerPercent - the lower bound.upperPercent - the upper bound.info - the plot rendering info (null not permitted).source - the source point (null not permitted).XYPlot.zoomRangeAxes(double, double, PlotRenderingInfo, Point2D)public void panDomainAxes(double panRange,
PlotRenderingInfo info,
java.awt.geom.Point2D source)
panDomainAxes in interface PannablepanDomainAxes in class XYPlotpanRange - the distance to pan (as a percentage of the axis length).info - the plot infosource - the source point where the pan action started.public XYPlot findSubplot(PlotRenderingInfo info, java.awt.geom.Point2D source)
info - the chart rendering info (null not permitted).source - the source point (null not permitted).null).public void setRenderer(XYItemRenderer renderer)
Note: usually you will want to set the renderer independently for each subplot, which is NOT what this method does.
setRenderer in class XYPlotrenderer - the new renderer.XYPlot.getRenderer()public void setOrientation(PlotOrientation orientation)
setOrientation in class XYPlotorientation - the orientation.XYPlot.getOrientation()public void setShadowGenerator(ShadowGenerator generator)
PlotChangeEvent to all registered listeners.setShadowGenerator in class XYPlotgenerator - the new generator (null permitted).public Range getDataRange(ValueAxis axis)
getDataRange in interface ValueAxisPlotgetDataRange in class XYPlotaxis - the axis.protected void setFixedDomainAxisSpaceForSubplots(AxisSpace space)
space - the space.public void handleClick(int x,
int y,
PlotRenderingInfo info)
handleClick in class XYPlotx - 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)
PlotChangeEvent and responds by notifying all
listeners.plotChanged in interface PlotChangeListenerevent - the event.public boolean equals(java.lang.Object obj)
public java.lang.Object clone()
throws java.lang.CloneNotSupportedException
clone in interface PublicCloneableclone in class XYPlotjava.lang.CloneNotSupportedException - this class will not throw this
exception, but subclasses (if any) might.