Package org.jfree.chart.plot
Class CombinedDomainCategoryPlot
java.lang.Object
org.jfree.chart.plot.Plot
org.jfree.chart.plot.CategoryPlot
org.jfree.chart.plot.CombinedDomainCategoryPlot
- All Implemented Interfaces:
Serializable,Cloneable,EventListener,AnnotationChangeListener,AxisChangeListener,MarkerChangeListener,PlotChangeListener,RendererChangeListener,LegendItemSource,Pannable,ValueAxisPlot,Zoomable,PublicCloneable,DatasetChangeListener
A combined category plot where the domain axis is shared.
- See Also:
-
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, localizationResourcesFields 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
ConstructorsConstructorDescriptionDefault constructor.CombinedDomainCategoryPlot(CategoryAxis domainAxis) Creates a new plot. -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(CategoryPlot subplot) Adds a subplot to the combined chart and sends aPlotChangeEventto all registered listeners.voidadd(CategoryPlot subplot, int weight) Adds a subplot to the combined chart and sends aPlotChangeEventto all registered listeners.protected AxisSpacecalculateAxisSpace(Graphics2D g2, Rectangle2D plotArea) Calculates the space required for the axes.booleanEnsures symmetry between super/subclass implementations of equals.clone()Returns a clone of the plot.voiddraw(Graphics2D g2, Rectangle2D area, Point2D anchor, PlotState parentState, PlotRenderingInfo info) Draws the plot on a Java 2D graphics device (such as the screen or a printer).booleanTests the plot for equality with an arbitrary object.findSubplot(PlotRenderingInfo info, Point2D source) Returns the subplot (if any) that contains the (x, y) point (specified in Java2D space).Returns an unmodifiable list of the categories contained in all the subplots.Overridden to return the categories in the subplots.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.doublegetGap()Returns the space between subplots.Returns a collection of legend items for the plot.Returns the list of subplots.voidhandleClick(int x, int y, PlotRenderingInfo info) Handles a 'click' on the plot.inthashCode()voidplotChanged(PlotChangeEvent event) Receives aPlotChangeEventand responds by notifying all listeners.voidremove(CategoryPlot subplot) Removes a subplot from the combined chart.protected voidSets the size (width or height, depending on the orientation of the plot) for the range axis of each subplot.voidsetGap(double gap) Sets the amount of space between subplots and sends aPlotChangeEventto all registered listeners.voidsetOrientation(PlotOrientation orientation) Sets the orientation of the plot (and all subplots).voidsetShadowGenerator(ShadowGenerator generator) Sets the shadow generator for the plot (and all subplots) and sends aPlotChangeEventto all registered listeners.voidzoomRangeAxes(double lowerPercent, double upperPercent, PlotRenderingInfo info, Point2D source) Zooms in on the range axes.voidzoomRangeAxes(double factor, PlotRenderingInfo info, Point2D source) Multiplies the range on the range axis/axes by the specified factor.voidzoomRangeAxes(double factor, PlotRenderingInfo info, Point2D source, boolean useAnchor) Multiplies the range on the range axis/axes by the specified factor.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, getColumnRenderingOrder, getCrosshairDatasetIndex, getDataset, getDataset, getDatasetCount, getDatasetRenderingOrder, getDatasets, getDomainAxes, 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, getRangeAxes, getRangeAxis, getRangeAxis, getRangeAxisCount, getRangeAxisEdge, getRangeAxisEdge, getRangeAxisForDataset, getRangeAxisIndex, getRangeAxisLocation, getRangeAxisLocation, getRangeCrosshairPaint, getRangeCrosshairStroke, getRangeCrosshairValue, getRangeGridlinePaint, getRangeGridlineStroke, getRangeMarkers, getRangeMarkers, getRangeMinorGridlinePaint, getRangeMinorGridlineStroke, getRangeZeroBaselinePaint, getRangeZeroBaselineStroke, getRenderer, getRenderer, getRendererCount, getRendererForDataset, getRenderers, 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, setWeight, zoom, zoomDomainAxes, zoomDomainAxes, zoomDomainAxesMethods inherited from class org.jfree.chart.plot.Plot
addChangeListener, axisChanged, createAndAddEntity, drawBackgroundImage, drawNoDataMessage, drawOutline, fetchElementHintingFlag, fillBackground, fillBackground, fireChangeEvent, getBackgroundAlpha, getBackgroundImage, getBackgroundImageAlignment, getBackgroundImageAlpha, getBackgroundPaint, getChart, 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, setChart, setDatasetGroup, setDrawingSupplier, setDrawingSupplier, setForegroundAlpha, setInsets, setInsets, setNoDataMessage, setNoDataMessageFont, setNoDataMessagePaint, setNotify, setOutlinePaint, setOutlineStroke, setOutlineVisible, setParent
-
Constructor Details
-
CombinedDomainCategoryPlot
public CombinedDomainCategoryPlot()Default constructor. -
CombinedDomainCategoryPlot
Creates a new plot.- Parameters:
domainAxis- the shared domain axis (nullnot permitted).
-
-
Method Details
-
getGap
Returns the space between subplots. The default value is 5.0.- Returns:
- The gap (in Java2D units).
- See Also:
-
setGap
Sets the amount of space between subplots and sends aPlotChangeEventto all registered listeners.- Parameters:
gap- the gap between subplots (in Java2D units).- See Also:
-
add
Adds a subplot to the combined chart and sends aPlotChangeEventto all registered listeners.
The domain axis for the subplot will be set tonull. You must ensure that the subplot has a non-null range axis.- Parameters:
subplot- the subplot (nullnot permitted).
-
add
Adds a subplot to the combined chart and sends aPlotChangeEventto all registered listeners.
The domain axis for the subplot will be set tonull. You must ensure that the subplot has a non-null range axis.- Parameters:
subplot- the subplot (nullnot permitted).weight- the weight (must be >= 1).
-
remove
Removes a subplot from the combined chart. Potentially, this removes some unique categories from the overall union of the datasets...so the domain axis is reconfigured, then aPlotChangeEventis sent to all registered listeners.- Parameters:
subplot- the subplot (nullnot permitted).
-
getSubplots
Returns the list of subplots. The returned list may be empty, but is nevernull.- Returns:
- An unmodifiable list of subplots.
-
findSubplot
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).
-
zoomRangeAxes
Multiplies the range on the range axis/axes by the specified factor.- Specified by:
zoomRangeAxesin interfaceZoomable- Overrides:
zoomRangeAxesin classCategoryPlot- Parameters:
factor- the zoom factor.info- the plot rendering info (nullnot permitted).source- the source point (nullnot permitted).- See Also:
-
zoomRangeAxes
Multiplies the range on the range axis/axes by the specified factor.- Specified by:
zoomRangeAxesin interfaceZoomable- Overrides:
zoomRangeAxesin classCategoryPlot- 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:
-
zoomRangeAxes
public void zoomRangeAxes(double lowerPercent, double upperPercent, PlotRenderingInfo info, Point2D source) Zooms in on the range axes.- Specified by:
zoomRangeAxesin interfaceZoomable- Overrides:
zoomRangeAxesin classCategoryPlot- Parameters:
lowerPercent- the lower bound.upperPercent- the upper bound.info- the plot rendering info (nullnot permitted).source- the source point (nullnot permitted).- See Also:
-
calculateAxisSpace
Calculates the space required for the axes.- Overrides:
calculateAxisSpacein classCategoryPlot- Parameters:
g2- the graphics device.plotArea- the plot area.- Returns:
- The space required for the axes.
-
draw
public void draw(Graphics2D g2, Rectangle2D area, 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 of the sub-plots and then tell these to draw themselves.- Overrides:
drawin classCategoryPlot- Parameters:
g2- the graphics device.area- the area within which the plot (including axis labels) should be drawn.anchor- the anchor point (nullpermitted).parentState- the state from the parent plot, if there is one.info- collects information about the drawing (nullpermitted).
-
setFixedRangeAxisSpaceForSubplots
Sets the size (width or height, depending on the orientation of the plot) for the range axis of each subplot.- Parameters:
space- the space (nullpermitted).
-
setOrientation
Sets the orientation of the plot (and all subplots).- Overrides:
setOrientationin classCategoryPlot- Parameters:
orientation- the orientation (nullnot permitted).- See Also:
-
setShadowGenerator
Sets the shadow generator for the plot (and all subplots) and sends aPlotChangeEventto all registered listeners.- Overrides:
setShadowGeneratorin classCategoryPlot- Parameters:
generator- the new generator (nullpermitted).
-
getDataRange
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, for this class, the domain axis is aCategoryAxis(not aValueAxis) and subplots have independent range axes, the JFreeChart code will never call this method (although this is not checked/enforced).- Specified by:
getDataRangein interfaceValueAxisPlot- Overrides:
getDataRangein classCategoryPlot- Parameters:
axis- the axis.- Returns:
- The range.
-
getLegendItems
Returns a collection of legend items for the plot.- Specified by:
getLegendItemsin interfaceLegendItemSource- Overrides:
getLegendItemsin classCategoryPlot- Returns:
- The legend items.
-
getCategories
Returns an unmodifiable list of the categories contained in all the subplots.- Overrides:
getCategoriesin classCategoryPlot- Returns:
- The list.
- See Also:
-
getCategoriesForAxis
Overridden to return the categories in the subplots.- Overrides:
getCategoriesForAxisin classCategoryPlot- Parameters:
axis- ignored.- Returns:
- A list of the categories in the subplots.
-
handleClick
Handles a 'click' on the plot.- Overrides:
handleClickin classCategoryPlot- Parameters:
x- x-coordinate of the click.y- y-coordinate of the click.info- information about the plot's dimensions.
-
plotChanged
Receives aPlotChangeEventand responds by notifying all listeners.- Specified by:
plotChangedin interfacePlotChangeListener- Parameters:
event- the event.
-
equals
Tests the plot for equality with an arbitrary object.- Overrides:
equalsin classCategoryPlot- Parameters:
obj- the object (nullpermitted).- Returns:
- A boolean.
-
canEqual
Ensures symmetry between super/subclass implementations of equals. For more detail, see http://jqno.nl/equalsverifier/manual/inheritance.- Overrides:
canEqualin classCategoryPlot- Parameters:
other- Object- Returns:
- true ONLY if the parameter is THIS class type
-
hashCode
- Overrides:
hashCodein classCategoryPlot
-
clone
Returns a clone of the plot.- Specified by:
clonein interfacePublicCloneable- Overrides:
clonein classCategoryPlot- Returns:
- A clone.
- Throws:
CloneNotSupportedException- this class will not throw this exception, but subclasses (if any) might.
-