- All Implemented Interfaces:
Disposable
,Serializable
,Cloneable
,EventListener
,AnnotationChangeListener
,AxisChangeListener
,MarkerChangeListener
,RendererChangeListener
,LegendItemSource
,Pannable
,ValueAxisPlot
,Zoomable
,PublicCloneable
,DatasetChangeListener
- Direct Known Subclasses:
CombinedDomainCategoryPlot
,CombinedRangeCategoryPlot
CategoryDataset
and
renders each data item using a CategoryItemRenderer
.- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final Paint
The default crosshair paint.static final Stroke
The default crosshair stroke.static final boolean
The default crosshair visibility.static final boolean
The default visibility of the grid lines plotted against the domain axis.static final Paint
The default grid line paint.static final Stroke
The default grid line stroke.static final boolean
The default visibility of the grid lines plotted against the range axis.static final Font
The default value label font.protected static ResourceBundle
The resourceBundle for the localization.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
ConstructorDescriptionDefault constructor.CategoryPlot
(CategoryDataset dataset, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryItemRenderer renderer) Creates a new plot. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addAnnotation
(CategoryAnnotation annotation) Adds an annotation to the plot and sends aPlotChangeEvent
to all registered listeners.void
addAnnotation
(CategoryAnnotation annotation, boolean notify) Adds an annotation to the plot and, if requested, sends aPlotChangeEvent
to all registered listeners.void
addDomainMarker
(int index, CategoryMarker marker, Layer layer) Adds a marker for display by a particular renderer and sends aPlotChangeEvent
to all registered listeners.void
addDomainMarker
(int index, CategoryMarker marker, Layer layer, boolean notify) Adds a marker for display by a particular renderer and, if requested, sends aPlotChangeEvent
to all registered listeners.void
addDomainMarker
(CategoryMarker marker) Adds a marker for display (in the foreground) against the domain axis and sends aPlotChangeEvent
to all registered listeners.void
addDomainMarker
(CategoryMarker marker, Layer layer) Adds a marker for display against the domain axis and sends aPlotChangeEvent
to all registered listeners.void
addRangeMarker
(int index, Marker marker, Layer layer) Adds a marker for display by a particular renderer and sends aPlotChangeEvent
to all registered listeners.void
addRangeMarker
(int index, Marker marker, Layer layer, boolean notify) Adds a marker for display by a particular renderer and sends aPlotChangeEvent
to all registered listeners.void
addRangeMarker
(Marker marker) Adds a marker for display (in the foreground) against the range axis and sends aPlotChangeEvent
to all registered listeners.void
addRangeMarker
(Marker marker, Layer layer) Adds a marker for display against the range axis and sends aPlotChangeEvent
to all registered listeners.void
Receives notification of a change to anAnnotation
added to this plot.protected AxisSpace
calculateAxisSpace
(Graphics2D g2, Rectangle2D plotArea) Calculates the space required for the axes.protected AxisSpace
calculateDomainAxisSpace
(Graphics2D g2, Rectangle2D plotArea, AxisSpace space) Calculates the space required for the domain axis/axes.protected AxisSpace
calculateRangeAxisSpace
(Graphics2D g2, Rectangle2D plotArea, AxisSpace space) Calculates the space required for the range axis/axes.void
Clears all the annotations and sends aPlotChangeEvent
to all registered listeners.void
Clears the domain axes from the plot and sends aPlotChangeEvent
to all registered listeners.void
Clears all the domain markers for the plot and sends aPlotChangeEvent
to all registered listeners.void
clearDomainMarkers
(int index) Clears all the domain markers for the specified renderer.void
Clears the range axes from the plot and sends aPlotChangeEvent
to all registered listeners.void
Clears all the range markers for the plot and sends aPlotChangeEvent
to all registered listeners.void
clearRangeMarkers
(int index) Clears all the range markers for the specified renderer.clone()
Returns a clone of the plot.void
Configures the domain axes.void
Configures the range axes.void
datasetChanged
(DatasetChangeEvent event) Receives notification of a change to the plot's dataset.void
dispose()
void
draw
(Graphics2D g2, Rectangle2D area, Point2D anchor, PlotState parentState, PlotRenderingInfo state) Draws the plot on a Java 2D graphics device (such as the screen or a printer).protected void
drawAnnotations
(Graphics2D g2, Rectangle2D dataArea) Draws the annotations.protected Map
drawAxes
(Graphics2D g2, Rectangle2D plotArea, Rectangle2D dataArea, PlotRenderingInfo plotState) A utility method for drawing the plot's axes.void
drawBackground
(Graphics2D g2, Rectangle2D area) Draws the plot background (the background color and/or image).protected void
drawDomainCrosshair
(Graphics2D g2, Rectangle2D dataArea, PlotOrientation orientation, int datasetIndex, Comparable rowKey, Comparable columnKey, Stroke stroke, Paint paint) Draws a domain crosshair.protected void
drawDomainGridlines
(Graphics2D g2, Rectangle2D dataArea) Draws the domain gridlines for the plot, if they are visible.protected void
drawDomainMarkers
(Graphics2D g2, Rectangle2D dataArea, int index, Layer layer) Draws the domain markers (if any) for an axis and layer.protected void
drawRangeCrosshair
(Graphics2D g2, Rectangle2D dataArea, PlotOrientation orientation, double value, ValueAxis axis, Stroke stroke, Paint paint) Draws a range crosshair.protected void
drawRangeGridlines
(Graphics2D g2, Rectangle2D dataArea, List ticks) Draws the range gridlines for the plot, if they are visible.protected void
drawRangeLine
(Graphics2D g2, Rectangle2D dataArea, double value, Stroke stroke, Paint paint) Utility method for drawing a line perpendicular to the range axis (used for crosshairs).protected void
drawRangeMarkers
(Graphics2D g2, Rectangle2D dataArea, int index, Layer layer) Draws the range markers (if any) for an axis and layer.protected void
drawZeroRangeBaseline
(Graphics2D g2, Rectangle2D area) Draws a base line across the chart at value zero on the range axis.boolean
Tests the plot for equality with an arbitrary object.double
Returns the anchor value.Returns the list of annotations.Returns the axis offset.Returns a list of the categories in the plot's primary dataset.Returns a list of the categories that should be displayed for the specified axis.Returns the order in which the columns are rendered.int
Returns the dataset index for the crosshair.getDataRange
(ValueAxis axis) Returns the range of data values that will be plotted against the range axis.Returns the primary dataset for the plot.getDataset
(int index) Returns the dataset with the given index, ornull
if there is no dataset.int
Returns the number of datasets.Returns the dataset rendering order.Returns the domain axis for the plot.getDomainAxis
(int index) Returns a domain axis.int
Returns the number of domain axes.Returns the domain axis edge.getDomainAxisEdge
(int index) Returns the edge for a domain axis.getDomainAxisForDataset
(int index) Returns the domain axis for a dataset.int
Returns the index of the specified axis, or-1
if the axis is not assigned to the plot.Returns the domain axis location for the primary domain axis.getDomainAxisLocation
(int index) Returns the location for a domain axis.Returns the column key for the domain crosshair.Returns the paint used to draw the domain crosshair.Returns the row key for the domain crosshair.Returns the stroke used to draw the domain crosshair.Returns the paint used to draw grid-lines against the domain axis.Returns the position used for the domain gridlines.Returns the stroke used to draw grid-lines against the domain axis.getDomainMarkers
(int index, Layer layer) Returns a collection of domain markers for a particular renderer and layer.getDomainMarkers
(Layer layer) Returns the list of domain markers (read only) for the specified layer.boolean
Returns the flag that controls whether or not the shared domain axis is drawn for each subplot.Returns the fixed domain axis space.Returns the fixed legend items, if any.Returns the fixed range axis space.int
getIndexOf
(CategoryItemRenderer renderer) Returns the index of the specified renderer, or-1
if the renderer is not assigned to this plot.Returns the legend items for the plot.Returns the orientation of the plot.Returns a string describing the type of plot.Returns the range axis for the plot.getRangeAxis
(int index) Returns a range axis.int
Returns the number of range axes.Returns the edge where the primary range axis is located.getRangeAxisEdge
(int index) Returns the edge for a range axis.getRangeAxisForDataset
(int index) Returns the range axis for a dataset.int
getRangeAxisIndex
(ValueAxis axis) Returns the index of the specified axis, or-1
if the axis is not assigned to the plot.Returns the range axis location.getRangeAxisLocation
(int index) Returns the location for a range axis.Returns the paint used to draw the range crosshair.Returns the pen-style (Stroke
) used to draw the crosshair (if visible).double
Returns the range crosshair value.Returns the paint used to draw the grid-lines against the range axis.Returns the stroke used to draw the grid-lines against the range axis.getRangeMarkers
(int index, Layer layer) Returns a collection of range markers for a particular renderer and layer.getRangeMarkers
(Layer layer) Returns the list of range markers (read only) for the specified layer.Returns the paint for the minor grid lines (if any) plotted against the range axis.Returns the stroke for the minor grid lines (if any) plotted against the range axis.Returns the paint for the zero baseline (if any) plotted against the range axis.Returns the stroke used for the zero baseline against the range axis.Returns a reference to the renderer for the plot.getRenderer
(int index) Returns the renderer at the given index.int
Returns the number of renderer slots for this plot.getRendererForDataset
(CategoryDataset dataset) Returns the renderer for the specified dataset.Returns the order in which the rows should be rendered.Returns the shadow generator for the plot, if any.int
Returns the weight for this plot when it is used as a subplot within a combined plot.void
handleClick
(int x, int y, PlotRenderingInfo info) Handles a 'click' on the plot by updating the anchor value.int
indexOf
(CategoryDataset dataset) Returns the index of the specified dataset, or-1
if the dataset does not belong to the plot.boolean
Returns the flag that controls whether or not the domain crosshair is displayed by the plot.boolean
Returns the flag that controls whether the domain grid-lines are visible.boolean
Returnsfalse
always, because the plot cannot be panned along the domain axis/axes.boolean
Returnsfalse
to indicate that the domain axes are not zoomable.boolean
Returns a flag indicating whether or not the crosshair should "lock-on" to actual data values.boolean
Returns a flag indicating whether or not the range crosshair is visible.boolean
Returns the flag that controls whether the range grid-lines are visible.boolean
Returnstrue
if the range axis minor grid is visible, andfalse
otherwise.boolean
Returnstrue
if panning is enabled for the range axes, andfalse
otherwise.boolean
Returns a flag that controls whether or not a zero baseline is displayed for the range axis.boolean
Returnstrue
to indicate that the range axes are zoomable.void
mapDatasetToDomainAxes
(int index, List axisIndices) Maps the specified dataset to the axes in the list.void
mapDatasetToDomainAxis
(int index, int axisIndex) Maps a dataset to a particular domain axis.void
mapDatasetToRangeAxes
(int index, List axisIndices) Maps the specified dataset to the axes in the list.void
mapDatasetToRangeAxis
(int index, int axisIndex) Maps a dataset to a particular range axis.void
panDomainAxes
(double percent, PlotRenderingInfo info, Point2D source) Pans the domain axes by the specified percentage.void
panRangeAxes
(double percent, PlotRenderingInfo info, Point2D source) Pans the range axes by the specified percentage.boolean
removeAnnotation
(CategoryAnnotation annotation) Removes an annotation from the plot and sends aPlotChangeEvent
to all registered listeners.boolean
removeAnnotation
(CategoryAnnotation annotation, boolean notify) Removes an annotation from the plot and, if requested, sends aPlotChangeEvent
to all registered listeners.boolean
removeDomainMarker
(int index, Marker marker, Layer layer) Removes a marker for a specific dataset/renderer and sends aPlotChangeEvent
to all registered listeners.boolean
removeDomainMarker
(int index, Marker marker, Layer layer, boolean notify) Removes a marker for a specific dataset/renderer and, if requested, sends aPlotChangeEvent
to all registered listeners.boolean
removeDomainMarker
(Marker marker) Removes a marker for the domain axis and sends aPlotChangeEvent
to all registered listeners.boolean
removeDomainMarker
(Marker marker, Layer layer) Removes a marker for the domain axis in the specified layer and sends aPlotChangeEvent
to all registered listeners.boolean
removeRangeMarker
(int index, Marker marker, Layer layer) Removes a marker for a specific dataset/renderer and sends aPlotChangeEvent
to all registered listeners.boolean
removeRangeMarker
(int index, Marker marker, Layer layer, boolean notify) Removes a marker for a specific dataset/renderer and sends aPlotChangeEvent
to all registered listeners.boolean
removeRangeMarker
(Marker marker) Removes a marker for the range axis and sends aPlotChangeEvent
to all registered listeners.boolean
removeRangeMarker
(Marker marker, Layer layer) Removes a marker for the range axis in the specified layer and sends aPlotChangeEvent
to all registered listeners.boolean
render
(Graphics2D g2, Rectangle2D dataArea, int index, PlotRenderingInfo info, CategoryCrosshairState crosshairState) Draws a representation of a dataset within the dataArea region using the appropriate renderer.void
Receives notification of a renderer change event.void
setAnchorValue
(double value) Sets the anchor value and sends aPlotChangeEvent
to all registered listeners.void
setAnchorValue
(double value, boolean notify) Sets the anchor value and, if requested, sends aPlotChangeEvent
to all registered listeners.void
setAxisOffset
(RectangleInsets offset) Sets the axis offsets (gap between the data area and the axes) and sends aPlotChangeEvent
to all registered listeners.void
setColumnRenderingOrder
(SortOrder order) Sets the column order in which the items in each dataset should be rendered and sends aPlotChangeEvent
to all registered listeners.void
setCrosshairDatasetIndex
(int index) Sets the dataset index for the crosshair and sends aPlotChangeEvent
to all registered listeners.void
setCrosshairDatasetIndex
(int index, boolean notify) Sets the dataset index for the crosshair and, if requested, sends aPlotChangeEvent
to all registered listeners.void
setDataset
(int index, CategoryDataset dataset) Sets a dataset for the plot and sends a change notification to all registered listeners.void
setDataset
(CategoryDataset dataset) Sets the dataset for the plot, replacing the existing dataset, if there is one.void
Sets the rendering order and sends aPlotChangeEvent
to all registered listeners.void
setDomainAxes
(CategoryAxis[] axes) Sets the domain axes for this plot and sends aPlotChangeEvent
to all registered listeners.void
setDomainAxis
(int index, CategoryAxis axis) Sets a domain axis and sends aPlotChangeEvent
to all registered listeners.void
setDomainAxis
(int index, CategoryAxis axis, boolean notify) Sets a domain axis and, if requested, sends aPlotChangeEvent
to all registered listeners.void
setDomainAxis
(CategoryAxis axis) Sets the domain axis for the plot and sends aPlotChangeEvent
to all registered listeners.void
setDomainAxisLocation
(int index, AxisLocation location) Sets the location for a domain axis and sends aPlotChangeEvent
to all registered listeners.void
setDomainAxisLocation
(int index, AxisLocation location, boolean notify) Sets the location for a domain axis and sends aPlotChangeEvent
to all registered listeners.void
setDomainAxisLocation
(AxisLocation location) Sets the location of the domain axis and sends aPlotChangeEvent
to all registered listeners.void
setDomainAxisLocation
(AxisLocation location, boolean notify) Sets the location of the domain axis and, if requested, sends aPlotChangeEvent
to all registered listeners.void
Sets the column key for the domain crosshair and sends aPlotChangeEvent
to all registered listeners.void
setDomainCrosshairColumnKey
(Comparable key, boolean notify) Sets the column key for the domain crosshair and, if requested, sends aPlotChangeEvent
to all registered listeners.void
setDomainCrosshairPaint
(Paint paint) Sets the paint used to draw the domain crosshair.void
Sets the row key for the domain crosshair and sends a {PlotChangeEvent} to all registered listeners.void
setDomainCrosshairRowKey
(Comparable key, boolean notify) Sets the row key for the domain crosshair and, if requested, sends a {PlotChangeEvent} to all registered listeners.void
setDomainCrosshairStroke
(Stroke stroke) Sets the stroke used to draw the domain crosshair, and sends aPlotChangeEvent
to all registered listeners.void
setDomainCrosshairVisible
(boolean flag) Sets the flag that controls whether or not the domain crosshair is displayed by the plot, and sends aPlotChangeEvent
to all registered listeners.void
setDomainGridlinePaint
(Paint paint) Sets the paint used to draw the grid-lines (if any) against the domain axis and sends aPlotChangeEvent
to all registered listeners.void
setDomainGridlinePosition
(CategoryAnchor position) Sets the position used for the domain gridlines and sends aPlotChangeEvent
to all registered listeners.void
setDomainGridlineStroke
(Stroke stroke) Sets the stroke used to draw grid-lines against the domain axis and sends aPlotChangeEvent
to all registered listeners.void
setDomainGridlinesVisible
(boolean visible) Sets the flag that controls whether or not grid-lines are drawn against the domain axis.void
setDrawSharedDomainAxis
(boolean draw) Sets the flag that controls whether the shared domain axis is drawn when this plot is being used as a subplot.void
setFixedDomainAxisSpace
(AxisSpace space) Sets the fixed domain axis space and sends aPlotChangeEvent
to all registered listeners.void
setFixedDomainAxisSpace
(AxisSpace space, boolean notify) Sets the fixed domain axis space and sends aPlotChangeEvent
to all registered listeners.void
Sets the fixed legend items for the plot.void
setFixedRangeAxisSpace
(AxisSpace space) Sets the fixed range axis space and sends aPlotChangeEvent
to all registered listeners.void
setFixedRangeAxisSpace
(AxisSpace space, boolean notify) Sets the fixed range axis space and sends aPlotChangeEvent
to all registered listeners.void
setOrientation
(PlotOrientation orientation) Sets the orientation for the plot and sends aPlotChangeEvent
to all registered listeners.void
setRangeAxes
(ValueAxis[] axes) Sets the range axes for this plot and sends aPlotChangeEvent
to all registered listeners.void
setRangeAxis
(int index, ValueAxis axis) Sets a range axis and sends aPlotChangeEvent
to all registered listeners.void
setRangeAxis
(int index, ValueAxis axis, boolean notify) Sets a range axis and, if requested, sends aPlotChangeEvent
to all registered listeners.void
setRangeAxis
(ValueAxis axis) Sets the range axis for the plot and sends aPlotChangeEvent
to all registered listeners.void
setRangeAxisLocation
(int index, AxisLocation location) Sets the location for a range axis and sends aPlotChangeEvent
to all registered listeners.void
setRangeAxisLocation
(int index, AxisLocation location, boolean notify) Sets the location for a range axis and sends aPlotChangeEvent
to all registered listeners.void
setRangeAxisLocation
(AxisLocation location) Sets the location of the range axis and sends aPlotChangeEvent
to all registered listeners.void
setRangeAxisLocation
(AxisLocation location, boolean notify) Sets the location of the range axis and, if requested, sends aPlotChangeEvent
to all registered listeners.void
setRangeCrosshairLockedOnData
(boolean flag) Sets the flag indicating whether or not the range crosshair should "lock-on" to actual data values, and sends aPlotChangeEvent
to all registered listeners.void
setRangeCrosshairPaint
(Paint paint) Sets the paint used to draw the range crosshair (if visible) and sends aPlotChangeEvent
to all registered listeners.void
setRangeCrosshairStroke
(Stroke stroke) Sets the pen-style (Stroke
) used to draw the range crosshair (if visible), and sends aPlotChangeEvent
to all registered listeners.void
setRangeCrosshairValue
(double value) Sets the range crosshair value and, if the crosshair is visible, sends aPlotChangeEvent
to all registered listeners.void
setRangeCrosshairValue
(double value, boolean notify) Sets the range crosshair value and, if requested, sends aPlotChangeEvent
to all registered listeners (but only if the crosshair is visible).void
setRangeCrosshairVisible
(boolean flag) Sets the flag indicating whether or not the range crosshair is visible.void
setRangeGridlinePaint
(Paint paint) Sets the paint used to draw the grid lines against the range axis and sends aPlotChangeEvent
to all registered listeners.void
setRangeGridlineStroke
(Stroke stroke) Sets the stroke used to draw the grid-lines against the range axis and sends aPlotChangeEvent
to all registered listeners.void
setRangeGridlinesVisible
(boolean visible) Sets the flag that controls whether or not grid-lines are drawn against the range axis.void
setRangeMinorGridlinePaint
(Paint paint) Sets the paint for the minor grid lines plotted against the range axis and sends aPlotChangeEvent
to all registered listeners.void
setRangeMinorGridlineStroke
(Stroke stroke) Sets the stroke for the minor grid lines plotted against the range axis, and sends aPlotChangeEvent
to all registered listeners.void
setRangeMinorGridlinesVisible
(boolean visible) Sets the flag that controls whether or not the range axis minor grid lines are visible.void
setRangePannable
(boolean pannable) Sets the flag that enables or disables panning of the plot along the range axes.void
setRangeZeroBaselinePaint
(Paint paint) Sets the paint for the zero baseline plotted against the range axis and sends aPlotChangeEvent
to all registered listeners.void
setRangeZeroBaselineStroke
(Stroke stroke) Sets the stroke for the zero baseline for the range axis, and sends aPlotChangeEvent
to all registered listeners.void
setRangeZeroBaselineVisible
(boolean visible) Sets the flag that controls whether or not the zero baseline is displayed for the range axis, and sends aPlotChangeEvent
to all registered listeners.void
setRenderer
(int index, CategoryItemRenderer renderer) Sets the renderer to use for the dataset with the specified index and sends a change event to all registered listeners.void
setRenderer
(int index, CategoryItemRenderer renderer, boolean notify) Sets the renderer to use for the dataset with the specified index and, if requested, sends a change event to all registered listeners.void
setRenderer
(CategoryItemRenderer renderer) Sets the renderer at index 0 (sometimes referred to as the "primary" renderer) and sends a change event to all registered listeners.void
setRenderer
(CategoryItemRenderer renderer, boolean notify) Sets the renderer at index 0 (sometimes referred to as the "primary" renderer) and, if requested, sends a change event to all registered listeners.void
setRenderers
(CategoryItemRenderer[] renderers) Sets the renderers for this plot and sends aPlotChangeEvent
to all registered listeners.void
setRowRenderingOrder
(SortOrder order) Sets the row order in which the items in each dataset should be rendered and sends aPlotChangeEvent
to all registered listeners.void
setShadowGenerator
(ShadowGenerator generator) Sets the shadow generator for the plot and sends aPlotChangeEvent
to all registered listeners.void
setWeight
(int weight) Sets the weight for the plot and sends aPlotChangeEvent
to all registered listeners.void
zoom
(double percent) Zooms (in or out) on the plot's value axis.void
zoomDomainAxes
(double lowerPercent, double upperPercent, PlotRenderingInfo state, Point2D source) This method does nothing, becauseCategoryPlot
doesn't support zooming on the domain.void
zoomDomainAxes
(double factor, PlotRenderingInfo state, Point2D source) This method does nothing, becauseCategoryPlot
doesn't support zooming on the domain.void
zoomDomainAxes
(double factor, PlotRenderingInfo info, Point2D source, boolean useAnchor) This method does nothing, becauseCategoryPlot
doesn't support zooming on the domain.void
zoomRangeAxes
(double lowerPercent, double upperPercent, PlotRenderingInfo state, Point2D source) Zooms in on the range axes.void
zoomRangeAxes
(double factor, PlotRenderingInfo state, Point2D source) Multiplies the range on the range axis/axes by the specified factor.void
zoomRangeAxes
(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.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
-
Field Details
-
DEFAULT_DOMAIN_GRIDLINES_VISIBLE
public static final boolean DEFAULT_DOMAIN_GRIDLINES_VISIBLEThe default visibility of the grid lines plotted against the domain axis.- See Also:
-
DEFAULT_RANGE_GRIDLINES_VISIBLE
public static final boolean DEFAULT_RANGE_GRIDLINES_VISIBLEThe default visibility of the grid lines plotted against the range axis.- See Also:
-
DEFAULT_GRIDLINE_STROKE
The default grid line stroke. -
DEFAULT_GRIDLINE_PAINT
The default grid line paint. -
DEFAULT_VALUE_LABEL_FONT
The default value label font. -
DEFAULT_CROSSHAIR_VISIBLE
public static final boolean DEFAULT_CROSSHAIR_VISIBLEThe default crosshair visibility.- See Also:
-
DEFAULT_CROSSHAIR_STROKE
The default crosshair stroke. -
DEFAULT_CROSSHAIR_PAINT
The default crosshair paint. -
localizationResources
The resourceBundle for the localization.
-
-
Constructor Details
-
CategoryPlot
public CategoryPlot()Default constructor. -
CategoryPlot
public CategoryPlot(CategoryDataset dataset, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryItemRenderer renderer) Creates a new plot.- Parameters:
dataset
- the dataset (null
permitted).domainAxis
- the domain axis (null
permitted).rangeAxis
- the range axis (null
permitted).renderer
- the item renderer (null
permitted).
-
-
Method Details
-
getPlotType
Returns a string describing the type of plot.- Specified by:
getPlotType
in classPlot
- Returns:
- The type.
-
getOrientation
Returns the orientation of the plot.- Specified by:
getOrientation
in interfacePannable
- Specified by:
getOrientation
in interfaceZoomable
- Returns:
- The orientation of the plot (never
null
). - See Also:
-
setOrientation
Sets the orientation for the plot and sends aPlotChangeEvent
to all registered listeners.- Parameters:
orientation
- the orientation (null
not permitted).- See Also:
-
getAxisOffset
Returns the axis offset.- Returns:
- The axis offset (never
null
). - See Also:
-
setAxisOffset
Sets the axis offsets (gap between the data area and the axes) and sends aPlotChangeEvent
to all registered listeners.- Parameters:
offset
- the offset (null
not permitted).- See Also:
-
getDomainAxis
Returns the domain axis for the plot. If the domain axis for this plot isnull
, then the method will return the parent plot's domain axis (if there is a parent plot).- Returns:
- The domain axis (
null
permitted). - See Also:
-
getDomainAxis
Returns a domain axis.- Parameters:
index
- the axis index.- Returns:
- The axis (
null
possible). - See Also:
-
setDomainAxis
Sets the domain axis for the plot and sends aPlotChangeEvent
to all registered listeners.- Parameters:
axis
- the axis (null
permitted).- See Also:
-
setDomainAxis
Sets a domain axis and sends aPlotChangeEvent
to all registered listeners.- Parameters:
index
- the axis index.axis
- the axis (null
permitted).- See Also:
-
setDomainAxis
Sets a domain axis and, if requested, sends aPlotChangeEvent
to all registered listeners.- Parameters:
index
- the axis index.axis
- the axis (null
permitted).notify
- notify listeners?
-
setDomainAxes
Sets the domain axes for this plot and sends aPlotChangeEvent
to all registered listeners.- Parameters:
axes
- the axes (null
not permitted).- See Also:
-
getDomainAxisIndex
Returns the index of the specified axis, or-1
if the axis is not assigned to the plot.- Parameters:
axis
- the axis (null
not permitted).- Returns:
- The axis index.
- See Also:
-
getDomainAxisLocation
Returns the domain axis location for the primary domain axis.- Returns:
- The location (never
null
). - See Also:
-
getDomainAxisLocation
Returns the location for a domain axis.- Parameters:
index
- the axis index.- Returns:
- The location.
- See Also:
-
setDomainAxisLocation
Sets the location of the domain axis and sends aPlotChangeEvent
to all registered listeners.- Parameters:
location
- the axis location (null
not permitted).- See Also:
-
setDomainAxisLocation
Sets the location of the domain axis and, if requested, sends aPlotChangeEvent
to all registered listeners.- Parameters:
location
- the axis location (null
not permitted).notify
- a flag that controls whether listeners are notified.
-
setDomainAxisLocation
Sets the location for a domain axis and sends aPlotChangeEvent
to all registered listeners.- Parameters:
index
- the axis index.location
- the location.- See Also:
-
setDomainAxisLocation
Sets the location for a domain axis and sends aPlotChangeEvent
to all registered listeners.- Parameters:
index
- the axis index.location
- the location.notify
- notify listeners?- See Also:
-
getDomainAxisEdge
Returns the domain axis edge. This is derived from the axis location and the plot orientation.- Returns:
- The edge (never
null
).
-
getDomainAxisEdge
Returns the edge for a domain axis.- Parameters:
index
- the axis index.- Returns:
- The edge (never
null
).
-
getDomainAxisCount
public int getDomainAxisCount()Returns the number of domain axes.- Returns:
- The axis count.
-
clearDomainAxes
public void clearDomainAxes()Clears the domain axes from the plot and sends aPlotChangeEvent
to all registered listeners. -
configureDomainAxes
public void configureDomainAxes()Configures the domain axes. -
getRangeAxis
Returns the range axis for the plot. If the range axis for this plot is null, then the method will return the parent plot's range axis (if there is a parent plot).- Returns:
- The range axis (possibly
null
).
-
getRangeAxis
Returns a range axis.- Parameters:
index
- the axis index.- Returns:
- The axis (
null
possible).
-
setRangeAxis
Sets the range axis for the plot and sends aPlotChangeEvent
to all registered listeners.- Parameters:
axis
- the axis (null
permitted).
-
setRangeAxis
Sets a range axis and sends aPlotChangeEvent
to all registered listeners.- Parameters:
index
- the axis index.axis
- the axis.
-
setRangeAxis
Sets a range axis and, if requested, sends aPlotChangeEvent
to all registered listeners.- Parameters:
index
- the axis index.axis
- the axis.notify
- notify listeners?
-
setRangeAxes
Sets the range axes for this plot and sends aPlotChangeEvent
to all registered listeners.- Parameters:
axes
- the axes (null
not permitted).- See Also:
-
getRangeAxisIndex
Returns the index of the specified axis, or-1
if the axis is not assigned to the plot.- Parameters:
axis
- the axis (null
not permitted).- Returns:
- The axis index.
- See Also:
-
getRangeAxisLocation
Returns the range axis location.- Returns:
- The location (never
null
).
-
getRangeAxisLocation
Returns the location for a range axis.- Parameters:
index
- the axis index.- Returns:
- The location.
- See Also:
-
setRangeAxisLocation
Sets the location of the range axis and sends aPlotChangeEvent
to all registered listeners.- Parameters:
location
- the location (null
not permitted).- See Also:
-
setRangeAxisLocation
Sets the location of the range axis and, if requested, sends aPlotChangeEvent
to all registered listeners.- Parameters:
location
- the location (null
not permitted).notify
- notify listeners?- See Also:
-
setRangeAxisLocation
Sets the location for a range axis and sends aPlotChangeEvent
to all registered listeners.- Parameters:
index
- the axis index.location
- the location.- See Also:
-
setRangeAxisLocation
Sets the location for a range axis and sends aPlotChangeEvent
to all registered listeners.- Parameters:
index
- the axis index.location
- the location.notify
- notify listeners?- See Also:
-
getRangeAxisEdge
Returns the edge where the primary range axis is located.- Returns:
- The edge (never
null
).
-
getRangeAxisEdge
Returns the edge for a range axis.- Parameters:
index
- the axis index.- Returns:
- The edge.
-
getRangeAxisCount
public int getRangeAxisCount()Returns the number of range axes.- Returns:
- The axis count.
-
clearRangeAxes
public void clearRangeAxes()Clears the range axes from the plot and sends aPlotChangeEvent
to all registered listeners. -
configureRangeAxes
public void configureRangeAxes()Configures the range axes. -
getDataset
Returns the primary dataset for the plot.- Returns:
- The primary dataset (possibly
null
). - See Also:
-
getDataset
Returns the dataset with the given index, ornull
if there is no dataset.- Parameters:
index
- the dataset index (must be >= 0).- Returns:
- The dataset (possibly
null
). - See Also:
-
setDataset
Sets the dataset for the plot, replacing the existing dataset, if there is one. This method also calls thedatasetChanged(DatasetChangeEvent)
method, which adjusts the axis ranges if necessary and sends aPlotChangeEvent
to all registered listeners.- Parameters:
dataset
- the dataset (null
permitted).- See Also:
-
setDataset
Sets a dataset for the plot and sends a change notification to all registered listeners.- Parameters:
index
- the dataset index (must be >= 0).dataset
- the dataset (null
permitted).- See Also:
-
getDatasetCount
public int getDatasetCount()Returns the number of datasets.- Returns:
- The number of datasets.
-
indexOf
Returns the index of the specified dataset, or-1
if the dataset does not belong to the plot.- Parameters:
dataset
- the dataset (null
not permitted).- Returns:
- The index.
-
mapDatasetToDomainAxis
public void mapDatasetToDomainAxis(int index, int axisIndex) Maps a dataset to a particular domain axis.- Parameters:
index
- the dataset index (zero-based).axisIndex
- the axis index (zero-based).- See Also:
-
mapDatasetToDomainAxes
Maps the specified dataset to the axes in the list. Note that the conversion of data values into Java2D space is always performed using the first axis in the list.- Parameters:
index
- the dataset index (zero-based).axisIndices
- the axis indices (null
permitted).
-
getDomainAxisForDataset
Returns the domain axis for a dataset. You can change the axis for a dataset using themapDatasetToDomainAxis(int, int)
method.- Parameters:
index
- the dataset index (must be >= 0).- Returns:
- The domain axis.
- See Also:
-
mapDatasetToRangeAxis
public void mapDatasetToRangeAxis(int index, int axisIndex) Maps a dataset to a particular range axis.- Parameters:
index
- the dataset index (zero-based).axisIndex
- the axis index (zero-based).- See Also:
-
mapDatasetToRangeAxes
Maps the specified dataset to the axes in the list. Note that the conversion of data values into Java2D space is always performed using the first axis in the list.- Parameters:
index
- the dataset index (zero-based).axisIndices
- the axis indices (null
permitted).
-
getRangeAxisForDataset
Returns the range axis for a dataset. You can change the axis for a dataset using themapDatasetToRangeAxis(int, int)
method.- Parameters:
index
- the dataset index (must be >= 0).- Returns:
- The range axis.
- See Also:
-
getRendererCount
public int getRendererCount()Returns the number of renderer slots for this plot.- Returns:
- The number of renderer slots.
-
getRenderer
Returns a reference to the renderer for the plot.- Returns:
- The renderer.
- See Also:
-
getRenderer
Returns the renderer at the given index.- Parameters:
index
- the renderer index.- Returns:
- The renderer (possibly
null
). - See Also:
-
setRenderer
Sets the renderer at index 0 (sometimes referred to as the "primary" renderer) and sends a change event to all registered listeners.- Parameters:
renderer
- the renderer (null
permitted.- See Also:
-
setRenderer
Sets the renderer at index 0 (sometimes referred to as the "primary" renderer) and, if requested, sends a change event to all registered listeners.You can set the renderer to
null
, but this is not recommended because:- no data will be displayed;
- the plot background will not be painted;
- Parameters:
renderer
- the renderer (null
permitted).notify
- notify listeners?- See Also:
-
setRenderer
Sets the renderer to use for the dataset with the specified index and sends a change event to all registered listeners. Note that each dataset should have its own renderer, you should not use one renderer for multiple datasets.- Parameters:
index
- the index.renderer
- the renderer (null
permitted).- See Also:
-
setRenderer
Sets the renderer to use for the dataset with the specified index and, if requested, sends a change event to all registered listeners. Note that each dataset should have its own renderer, you should not use one renderer for multiple datasets.- Parameters:
index
- the index.renderer
- the renderer (null
permitted).notify
- notify listeners?- See Also:
-
setRenderers
Sets the renderers for this plot and sends aPlotChangeEvent
to all registered listeners.- Parameters:
renderers
- the renderers.
-
getRendererForDataset
Returns the renderer for the specified dataset. If the dataset doesn't belong to the plot, this method will returnnull
.- Parameters:
dataset
- the dataset (null
permitted).- Returns:
- The renderer (possibly
null
).
-
getIndexOf
Returns the index of the specified renderer, or-1
if the renderer is not assigned to this plot.- Parameters:
renderer
- the renderer (null
permitted).- Returns:
- The renderer index.
-
getDatasetRenderingOrder
Returns the dataset rendering order.- Returns:
- The order (never
null
). - See Also:
-
setDatasetRenderingOrder
Sets the rendering order and sends aPlotChangeEvent
to all registered listeners. By default, the plot renders the primary dataset last (so that the primary dataset overlays the secondary datasets). You can reverse this if you want to.- Parameters:
order
- the rendering order (null
not permitted).- See Also:
-
getColumnRenderingOrder
Returns the order in which the columns are rendered. The default value isSortOrder.ASCENDING
.- Returns:
- The column rendering order (never
null
). - See Also:
-
setColumnRenderingOrder
Sets the column order in which the items in each dataset should be rendered and sends aPlotChangeEvent
to all registered listeners. Note that this affects the order in which items are drawn, NOT their position in the chart.- Parameters:
order
- the order (null
not permitted).- See Also:
-
getRowRenderingOrder
Returns the order in which the rows should be rendered. The default value isSortOrder.ASCENDING
.- Returns:
- The order (never
null
). - See Also:
-
setRowRenderingOrder
Sets the row order in which the items in each dataset should be rendered and sends aPlotChangeEvent
to all registered listeners. Note that this affects the order in which items are drawn, NOT their position in the chart.- Parameters:
order
- the order (null
not permitted).- See Also:
-
isDomainGridlinesVisible
public boolean isDomainGridlinesVisible()Returns the flag that controls whether the domain grid-lines are visible.- Returns:
- The
true
orfalse
. - See Also:
-
setDomainGridlinesVisible
public void setDomainGridlinesVisible(boolean visible) Sets the flag that controls whether or not grid-lines are drawn against the domain axis.If the flag value changes, a
PlotChangeEvent
is sent to all registered listeners.- Parameters:
visible
- the new value of the flag.- See Also:
-
getDomainGridlinePosition
Returns the position used for the domain gridlines.- Returns:
- The gridline position (never
null
). - See Also:
-
setDomainGridlinePosition
Sets the position used for the domain gridlines and sends aPlotChangeEvent
to all registered listeners.- Parameters:
position
- the position (null
not permitted).- See Also:
-
getDomainGridlineStroke
Returns the stroke used to draw grid-lines against the domain axis.- Returns:
- The stroke (never
null
). - See Also:
-
setDomainGridlineStroke
Sets the stroke used to draw grid-lines against the domain axis and sends aPlotChangeEvent
to all registered listeners.- Parameters:
stroke
- the stroke (null
not permitted).- See Also:
-
getDomainGridlinePaint
Returns the paint used to draw grid-lines against the domain axis.- Returns:
- The paint (never
null
). - See Also:
-
setDomainGridlinePaint
Sets the paint used to draw the grid-lines (if any) against the domain axis and sends aPlotChangeEvent
to all registered listeners.- Parameters:
paint
- the paint (null
not permitted).- See Also:
-
isRangeZeroBaselineVisible
public boolean isRangeZeroBaselineVisible()Returns a flag that controls whether or not a zero baseline is displayed for the range axis.- Returns:
- A boolean.
- See Also:
-
setRangeZeroBaselineVisible
public void setRangeZeroBaselineVisible(boolean visible) Sets the flag that controls whether or not the zero baseline is displayed for the range axis, and sends aPlotChangeEvent
to all registered listeners.- Parameters:
visible
- the flag.- See Also:
-
getRangeZeroBaselineStroke
Returns the stroke used for the zero baseline against the range axis.- Returns:
- The stroke (never
null
). - See Also:
-
setRangeZeroBaselineStroke
Sets the stroke for the zero baseline for the range axis, and sends aPlotChangeEvent
to all registered listeners.- Parameters:
stroke
- the stroke (null
not permitted).- See Also:
-
getRangeZeroBaselinePaint
Returns the paint for the zero baseline (if any) plotted against the range axis.- Returns:
- The paint (never
null
). - See Also:
-
setRangeZeroBaselinePaint
Sets the paint for the zero baseline plotted against the range axis and sends aPlotChangeEvent
to all registered listeners.- Parameters:
paint
- the paint (null
not permitted).- See Also:
-
isRangeGridlinesVisible
public boolean isRangeGridlinesVisible()Returns the flag that controls whether the range grid-lines are visible.- Returns:
- The flag.
- See Also:
-
setRangeGridlinesVisible
public void setRangeGridlinesVisible(boolean visible) Sets the flag that controls whether or not grid-lines are drawn against the range axis. If the flag changes value, aPlotChangeEvent
is sent to all registered listeners.- Parameters:
visible
- the new value of the flag.- See Also:
-
getRangeGridlineStroke
Returns the stroke used to draw the grid-lines against the range axis.- Returns:
- The stroke (never
null
). - See Also:
-
setRangeGridlineStroke
Sets the stroke used to draw the grid-lines against the range axis and sends aPlotChangeEvent
to all registered listeners.- Parameters:
stroke
- the stroke (null
not permitted).- See Also:
-
getRangeGridlinePaint
Returns the paint used to draw the grid-lines against the range axis.- Returns:
- The paint (never
null
). - See Also:
-
setRangeGridlinePaint
Sets the paint used to draw the grid lines against the range axis and sends aPlotChangeEvent
to all registered listeners.- Parameters:
paint
- the paint (null
not permitted).- See Also:
-
isRangeMinorGridlinesVisible
public boolean isRangeMinorGridlinesVisible()Returnstrue
if the range axis minor grid is visible, andfalse
otherwise.- Returns:
- A boolean.
- See Also:
-
setRangeMinorGridlinesVisible
public void setRangeMinorGridlinesVisible(boolean visible) Sets the flag that controls whether or not the range axis minor grid lines are visible.If the flag value is changed, a
PlotChangeEvent
is sent to all registered listeners.- Parameters:
visible
- the new value of the flag.- See Also:
-
getRangeMinorGridlineStroke
Returns the stroke for the minor grid lines (if any) plotted against the range axis.- Returns:
- The stroke (never
null
). - See Also:
-
setRangeMinorGridlineStroke
Sets the stroke for the minor grid lines plotted against the range axis, and sends aPlotChangeEvent
to all registered listeners.- Parameters:
stroke
- the stroke (null
not permitted).- See Also:
-
getRangeMinorGridlinePaint
Returns the paint for the minor grid lines (if any) plotted against the range axis.- Returns:
- The paint (never
null
). - See Also:
-
setRangeMinorGridlinePaint
Sets the paint for the minor grid lines plotted against the range axis and sends aPlotChangeEvent
to all registered listeners.- Parameters:
paint
- the paint (null
not permitted).- See Also:
-
getFixedLegendItems
Returns the fixed legend items, if any.- Returns:
- The legend items (possibly
null
). - See Also:
-
setFixedLegendItems
Sets the fixed legend items for the plot. Leave this set tonull
if you prefer the legend items to be created automatically.- Parameters:
items
- the legend items (null
permitted).- See Also:
-
getLegendItems
Returns the legend items for the plot. By default, this method creates a legend item for each series in each of the datasets. You can change this behaviour by overriding this method.- Specified by:
getLegendItems
in interfaceLegendItemSource
- Overrides:
getLegendItems
in classPlot
- Returns:
- The legend items.
-
handleClick
Handles a 'click' on the plot by updating the anchor value.- Overrides:
handleClick
in classPlot
- Parameters:
x
- x-coordinate of the click (in Java2D space).y
- y-coordinate of the click (in Java2D space).info
- information about the plot's dimensions.
-
zoom
public void zoom(double percent) Zooms (in or out) on the plot's value axis.If the value 0.0 is passed in as the zoom percent, the auto-range calculation for the axis is restored (which sets the range to include the minimum and maximum data values, thus displaying all the data).
-
annotationChanged
Receives notification of a change to anAnnotation
added to this plot.- Specified by:
annotationChanged
in interfaceAnnotationChangeListener
- Overrides:
annotationChanged
in classPlot
- Parameters:
event
- information about the event (not used here).
-
datasetChanged
Receives notification of a change to the plot's dataset.The range axis bounds will be recalculated if necessary.
- Specified by:
datasetChanged
in interfaceDatasetChangeListener
- Overrides:
datasetChanged
in classPlot
- Parameters:
event
- information about the event (not used here).
-
rendererChanged
Receives notification of a renderer change event.- Specified by:
rendererChanged
in interfaceRendererChangeListener
- Parameters:
event
- the event.
-
addDomainMarker
Adds a marker for display (in the foreground) against the domain axis and sends aPlotChangeEvent
to all registered listeners. Typically a marker will be drawn by the renderer as a line perpendicular to the domain axis, however this is entirely up to the renderer.- Parameters:
marker
- the marker (null
not permitted).- See Also:
-
addDomainMarker
Adds a marker for display against the domain axis and sends aPlotChangeEvent
to all registered listeners. Typically a marker will be drawn by the renderer as a line perpendicular to the domain axis, however this is entirely up to the renderer.- Parameters:
marker
- the marker (null
not permitted).layer
- the layer (foreground or background) (null
not permitted).- See Also:
-
addDomainMarker
Adds a marker for display by a particular renderer and sends aPlotChangeEvent
to all registered listeners.Typically a marker will be drawn by the renderer as a line perpendicular to a domain axis, however this is entirely up to the renderer.
- Parameters:
index
- the renderer index.marker
- the marker (null
not permitted).layer
- the layer (null
not permitted).- See Also:
-
addDomainMarker
Adds a marker for display by a particular renderer and, if requested, sends aPlotChangeEvent
to all registered listeners.Typically a marker will be drawn by the renderer as a line perpendicular to a domain axis, however this is entirely up to the renderer.
- Parameters:
index
- the renderer index.marker
- the marker (null
not permitted).layer
- the layer (null
not permitted).notify
- notify listeners?- See Also:
-
clearDomainMarkers
public void clearDomainMarkers()Clears all the domain markers for the plot and sends aPlotChangeEvent
to all registered listeners.- See Also:
-
getDomainMarkers
Returns the list of domain markers (read only) for the specified layer.- Parameters:
layer
- the layer (foreground or background).- Returns:
- The list of domain markers.
-
getDomainMarkers
Returns a collection of domain markers for a particular renderer and layer.- Parameters:
index
- the renderer index.layer
- the layer.- Returns:
- A collection of markers (possibly
null
).
-
clearDomainMarkers
public void clearDomainMarkers(int index) Clears all the domain markers for the specified renderer.- Parameters:
index
- the renderer index.- See Also:
-
removeDomainMarker
Removes a marker for the domain axis and sends aPlotChangeEvent
to all registered listeners.- Parameters:
marker
- the marker.- Returns:
- A boolean indicating whether or not the marker was actually removed.
-
removeDomainMarker
Removes a marker for the domain axis in the specified layer and sends aPlotChangeEvent
to all registered listeners.- Parameters:
marker
- the marker (null
not permitted).layer
- the layer (foreground or background).- Returns:
- A boolean indicating whether or not the marker was actually removed.
-
removeDomainMarker
Removes a marker for a specific dataset/renderer and sends aPlotChangeEvent
to all registered listeners.- Parameters:
index
- the dataset/renderer index.marker
- the marker.layer
- the layer (foreground or background).- Returns:
- A boolean indicating whether or not the marker was actually removed.
-
removeDomainMarker
Removes a marker for a specific dataset/renderer and, if requested, sends aPlotChangeEvent
to all registered listeners.- Parameters:
index
- the dataset/renderer index.marker
- the marker.layer
- the layer (foreground or background).notify
- notify listeners?- Returns:
- A boolean indicating whether or not the marker was actually removed.
-
addRangeMarker
Adds a marker for display (in the foreground) against the range axis and sends aPlotChangeEvent
to all registered listeners. Typically a marker will be drawn by the renderer as a line perpendicular to the range axis, however this is entirely up to the renderer.- Parameters:
marker
- the marker (null
not permitted).- See Also:
-
addRangeMarker
Adds a marker for display against the range axis and sends aPlotChangeEvent
to all registered listeners. Typically a marker will be drawn by the renderer as a line perpendicular to the range axis, however this is entirely up to the renderer.- Parameters:
marker
- the marker (null
not permitted).layer
- the layer (foreground or background) (null
not permitted).- See Also:
-
addRangeMarker
Adds a marker for display by a particular renderer and sends aPlotChangeEvent
to all registered listeners.Typically a marker will be drawn by the renderer as a line perpendicular to a range axis, however this is entirely up to the renderer.
- Parameters:
index
- the renderer index.marker
- the marker.layer
- the layer.- See Also:
-
addRangeMarker
Adds a marker for display by a particular renderer and sends aPlotChangeEvent
to all registered listeners.Typically a marker will be drawn by the renderer as a line perpendicular to a range axis, however this is entirely up to the renderer.
- Parameters:
index
- the renderer index.marker
- the marker.layer
- the layer.notify
- notify listeners?- See Also:
-
clearRangeMarkers
public void clearRangeMarkers()Clears all the range markers for the plot and sends aPlotChangeEvent
to all registered listeners.- See Also:
-
getRangeMarkers
Returns the list of range markers (read only) for the specified layer.- Parameters:
layer
- the layer (foreground or background).- Returns:
- The list of range markers.
- See Also:
-
getRangeMarkers
Returns a collection of range markers for a particular renderer and layer.- Parameters:
index
- the renderer index.layer
- the layer.- Returns:
- A collection of markers (possibly
null
).
-
clearRangeMarkers
public void clearRangeMarkers(int index) Clears all the range markers for the specified renderer.- Parameters:
index
- the renderer index.- See Also:
-
removeRangeMarker
Removes a marker for the range axis and sends aPlotChangeEvent
to all registered listeners.- Parameters:
marker
- the marker.- Returns:
- A boolean indicating whether or not the marker was actually removed.
- See Also:
-
removeRangeMarker
Removes a marker for the range axis in the specified layer and sends aPlotChangeEvent
to all registered listeners.- Parameters:
marker
- the marker (null
not permitted).layer
- the layer (foreground or background).- Returns:
- A boolean indicating whether or not the marker was actually removed.
- See Also:
-
removeRangeMarker
Removes a marker for a specific dataset/renderer and sends aPlotChangeEvent
to all registered listeners.- Parameters:
index
- the dataset/renderer index.marker
- the marker.layer
- the layer (foreground or background).- Returns:
- A boolean indicating whether or not the marker was actually removed.
- See Also:
-
removeRangeMarker
Removes a marker for a specific dataset/renderer and sends aPlotChangeEvent
to all registered listeners.- Parameters:
index
- the dataset/renderer index.marker
- the marker.layer
- the layer (foreground or background).notify
- notify listeners.- Returns:
- A boolean indicating whether or not the marker was actually removed.
- See Also:
-
isDomainCrosshairVisible
public boolean isDomainCrosshairVisible()Returns the flag that controls whether or not the domain crosshair is displayed by the plot.- Returns:
- A boolean.
- See Also:
-
setDomainCrosshairVisible
public void setDomainCrosshairVisible(boolean flag) Sets the flag that controls whether or not the domain crosshair is displayed by the plot, and sends aPlotChangeEvent
to all registered listeners.- Parameters:
flag
- the new flag value.- See Also:
-
getDomainCrosshairRowKey
Returns the row key for the domain crosshair.- Returns:
- The row key.
-
setDomainCrosshairRowKey
Sets the row key for the domain crosshair and sends a {PlotChangeEvent} to all registered listeners.- Parameters:
key
- the key.
-
setDomainCrosshairRowKey
Sets the row key for the domain crosshair and, if requested, sends a {PlotChangeEvent} to all registered listeners.- Parameters:
key
- the key.notify
- notify listeners?
-
getDomainCrosshairColumnKey
Returns the column key for the domain crosshair.- Returns:
- The column key.
-
setDomainCrosshairColumnKey
Sets the column key for the domain crosshair and sends aPlotChangeEvent
to all registered listeners.- Parameters:
key
- the key.
-
setDomainCrosshairColumnKey
Sets the column key for the domain crosshair and, if requested, sends aPlotChangeEvent
to all registered listeners.- Parameters:
key
- the key.notify
- notify listeners?
-
getCrosshairDatasetIndex
public int getCrosshairDatasetIndex()Returns the dataset index for the crosshair.- Returns:
- The dataset index.
-
setCrosshairDatasetIndex
public void setCrosshairDatasetIndex(int index) Sets the dataset index for the crosshair and sends aPlotChangeEvent
to all registered listeners.- Parameters:
index
- the index.
-
setCrosshairDatasetIndex
public void setCrosshairDatasetIndex(int index, boolean notify) Sets the dataset index for the crosshair and, if requested, sends aPlotChangeEvent
to all registered listeners.- Parameters:
index
- the index.notify
- notify listeners?
-
getDomainCrosshairPaint
Returns the paint used to draw the domain crosshair.- Returns:
- The paint (never
null
). - See Also:
-
setDomainCrosshairPaint
Sets the paint used to draw the domain crosshair.- Parameters:
paint
- the paint (null
not permitted).- See Also:
-
getDomainCrosshairStroke
Returns the stroke used to draw the domain crosshair.- Returns:
- The stroke (never
null
). - See Also:
-
setDomainCrosshairStroke
Sets the stroke used to draw the domain crosshair, and sends aPlotChangeEvent
to all registered listeners.- Parameters:
stroke
- the stroke (null
not permitted).- See Also:
-
isRangeCrosshairVisible
public boolean isRangeCrosshairVisible()Returns a flag indicating whether or not the range crosshair is visible.- Returns:
- The flag.
- See Also:
-
setRangeCrosshairVisible
public void setRangeCrosshairVisible(boolean flag) Sets the flag indicating whether or not the range crosshair is visible.- Parameters:
flag
- the new value of the flag.- See Also:
-
isRangeCrosshairLockedOnData
public boolean isRangeCrosshairLockedOnData()Returns a flag indicating whether or not the crosshair should "lock-on" to actual data values.- Returns:
- The flag.
- See Also:
-
setRangeCrosshairLockedOnData
public void setRangeCrosshairLockedOnData(boolean flag) Sets the flag indicating whether or not the range crosshair should "lock-on" to actual data values, and sends aPlotChangeEvent
to all registered listeners.- Parameters:
flag
- the flag.- See Also:
-
getRangeCrosshairValue
public double getRangeCrosshairValue()Returns the range crosshair value.- Returns:
- The value.
- See Also:
-
setRangeCrosshairValue
public void setRangeCrosshairValue(double value) Sets the range crosshair value and, if the crosshair is visible, sends aPlotChangeEvent
to all registered listeners.- Parameters:
value
- the new value.- See Also:
-
setRangeCrosshairValue
public void setRangeCrosshairValue(double value, boolean notify) Sets the range crosshair value and, if requested, sends aPlotChangeEvent
to all registered listeners (but only if the crosshair is visible).- Parameters:
value
- the new value.notify
- a flag that controls whether or not listeners are notified.- See Also:
-
getRangeCrosshairStroke
Returns the pen-style (Stroke
) used to draw the crosshair (if visible).- Returns:
- The crosshair stroke (never
null
). - See Also:
-
setRangeCrosshairStroke
Sets the pen-style (Stroke
) used to draw the range crosshair (if visible), and sends aPlotChangeEvent
to all registered listeners.- Parameters:
stroke
- the new crosshair stroke (null
not permitted).- See Also:
-
getRangeCrosshairPaint
Returns the paint used to draw the range crosshair.- Returns:
- The paint (never
null
). - See Also:
-
setRangeCrosshairPaint
Sets the paint used to draw the range crosshair (if visible) and sends aPlotChangeEvent
to all registered listeners.- Parameters:
paint
- the paint (null
not permitted).- See Also:
-
getAnnotations
Returns the list of annotations.- Returns:
- The list of annotations (never
null
). - See Also:
-
addAnnotation
Adds an annotation to the plot and sends aPlotChangeEvent
to all registered listeners.- Parameters:
annotation
- the annotation (null
not permitted).- See Also:
-
addAnnotation
Adds an annotation to the plot and, if requested, sends aPlotChangeEvent
to all registered listeners.- Parameters:
annotation
- the annotation (null
not permitted).notify
- notify listeners?
-
removeAnnotation
Removes an annotation from the plot and sends aPlotChangeEvent
to all registered listeners.- Parameters:
annotation
- the annotation (null
not permitted).- Returns:
- A boolean (indicates whether or not the annotation was removed).
- See Also:
-
removeAnnotation
Removes an annotation from the plot and, if requested, sends aPlotChangeEvent
to all registered listeners.- Parameters:
annotation
- the annotation (null
not permitted).notify
- notify listeners?- Returns:
- A boolean (indicates whether or not the annotation was removed).
-
clearAnnotations
public void clearAnnotations()Clears all the annotations and sends aPlotChangeEvent
to all registered listeners. -
getShadowGenerator
Returns the shadow generator for the plot, if any.- Returns:
- The shadow generator (possibly
null
).
-
setShadowGenerator
Sets the shadow generator for the plot and sends aPlotChangeEvent
to all registered listeners.- Parameters:
generator
- the generator (null
permitted).
-
calculateDomainAxisSpace
Calculates the space required for the domain axis/axes.- Parameters:
g2
- the graphics device.plotArea
- the plot area.space
- a carrier for the result (null
permitted).- Returns:
- The required space.
-
calculateRangeAxisSpace
Calculates the space required for the range axis/axes.- Parameters:
g2
- the graphics device.plotArea
- the plot area.space
- a carrier for the result (null
permitted).- Returns:
- The required space.
-
calculateAxisSpace
Calculates the space required for the axes.- 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 state) Draws the plot on a Java 2D graphics device (such as the screen or a printer).At your option, you may supply an instance of
PlotRenderingInfo
. If you do, it will be populated with information about the drawing, including various plot dimensions and tooltip info.- Specified by:
draw
in classPlot
- Parameters:
g2
- the graphics device.area
- the area within which the plot (including axes) should be drawn.anchor
- the anchor point (null
permitted).parentState
- the state from the parent plot, if there is one.state
- collects info as the chart is drawn (possiblynull
).
-
drawBackground
Draws the plot background (the background color and/or image).This method will be called during the chart drawing process and is declared public so that it can be accessed by the renderers used by certain subclasses. You shouldn't need to call this method directly.
- Overrides:
drawBackground
in classPlot
- Parameters:
g2
- the graphics device.area
- the area within which the plot should be drawn.
-
drawAxes
protected Map drawAxes(Graphics2D g2, Rectangle2D plotArea, Rectangle2D dataArea, PlotRenderingInfo plotState) A utility method for drawing the plot's axes.- Parameters:
g2
- the graphics device.plotArea
- the plot area.dataArea
- the data area.plotState
- collects information about the plot (null
permitted).- Returns:
- A map containing the axis states.
-
render
public boolean render(Graphics2D g2, Rectangle2D dataArea, int index, PlotRenderingInfo info, CategoryCrosshairState crosshairState) Draws a representation of a dataset within the dataArea region using the appropriate renderer.- Parameters:
g2
- the graphics device.dataArea
- the region in which the data is to be drawn.index
- the dataset and renderer index.info
- an optional object for collection dimension information.crosshairState
- a state object for tracking crosshair info (null
permitted).- Returns:
- A boolean that indicates whether or not real data was found.
-
drawDomainGridlines
Draws the domain gridlines for the plot, if they are visible.- Parameters:
g2
- the graphics device.dataArea
- the area inside the axes.- See Also:
-
drawRangeGridlines
Draws the range gridlines for the plot, if they are visible.- Parameters:
g2
- the graphics device (null
not permitted).dataArea
- the area inside the axes (null
not permitted).ticks
- the ticks.- See Also:
-
drawZeroRangeBaseline
Draws a base line across the chart at value zero on the range axis.- Parameters:
g2
- the graphics device.area
- the data area.- See Also:
-
drawAnnotations
Draws the annotations.- Parameters:
g2
- the graphics device.dataArea
- the data area.
-
drawDomainMarkers
Draws the domain markers (if any) for an axis and layer. This method is typically called from within the draw() method.- Parameters:
g2
- the graphics device.dataArea
- the data area.index
- the renderer index.layer
- the layer (foreground or background).- See Also:
-
drawRangeMarkers
Draws the range markers (if any) for an axis and layer. This method is typically called from within the draw() method.- Parameters:
g2
- the graphics device.dataArea
- the data area.index
- the renderer index.layer
- the layer (foreground or background).- See Also:
-
drawRangeLine
protected void drawRangeLine(Graphics2D g2, Rectangle2D dataArea, double value, Stroke stroke, Paint paint) Utility method for drawing a line perpendicular to the range axis (used for crosshairs).- Parameters:
g2
- the graphics device.dataArea
- the area defined by the axes.value
- the data value.stroke
- the line stroke (null
not permitted).paint
- the line paint (null
not permitted).
-
drawDomainCrosshair
protected void drawDomainCrosshair(Graphics2D g2, Rectangle2D dataArea, PlotOrientation orientation, int datasetIndex, Comparable rowKey, Comparable columnKey, Stroke stroke, Paint paint) Draws a domain crosshair.- Parameters:
g2
- the graphics target.dataArea
- the data area.orientation
- the plot orientation.datasetIndex
- the dataset index.rowKey
- the row key.columnKey
- the column key.stroke
- the stroke used to draw the crosshair line.paint
- the paint used to draw the crosshair line.- See Also:
-
drawRangeCrosshair
protected void drawRangeCrosshair(Graphics2D g2, Rectangle2D dataArea, PlotOrientation orientation, double value, ValueAxis axis, Stroke stroke, Paint paint) Draws a range crosshair.- Parameters:
g2
- the graphics target.dataArea
- the data area.orientation
- the plot orientation.value
- the crosshair value.axis
- the axis against which the value is measured.stroke
- the stroke used to draw the crosshair line.paint
- the paint used to draw the crosshair line.- See Also:
-
getDataRange
Returns the range of data values that will be plotted against the range axis. If the dataset isnull
, this method returnsnull
.- Specified by:
getDataRange
in interfaceValueAxisPlot
- Parameters:
axis
- the axis.- Returns:
- The data range.
-
getWeight
public int getWeight()Returns the weight for this plot when it is used as a subplot within a combined plot.- Returns:
- The weight.
- See Also:
-
setWeight
public void setWeight(int weight) Sets the weight for the plot and sends aPlotChangeEvent
to all registered listeners.- Parameters:
weight
- the weight.- See Also:
-
getFixedDomainAxisSpace
Returns the fixed domain axis space.- Returns:
- The fixed domain axis space (possibly
null
). - See Also:
-
setFixedDomainAxisSpace
Sets the fixed domain axis space and sends aPlotChangeEvent
to all registered listeners.- Parameters:
space
- the space (null
permitted).- See Also:
-
setFixedDomainAxisSpace
Sets the fixed domain axis space and sends aPlotChangeEvent
to all registered listeners.- Parameters:
space
- the space (null
permitted).notify
- notify listeners?- See Also:
-
getFixedRangeAxisSpace
Returns the fixed range axis space.- Returns:
- The fixed range axis space (possibly
null
). - See Also:
-
setFixedRangeAxisSpace
Sets the fixed range axis space and sends aPlotChangeEvent
to all registered listeners.- Parameters:
space
- the space (null
permitted).- See Also:
-
setFixedRangeAxisSpace
Sets the fixed range axis space and sends aPlotChangeEvent
to all registered listeners.- Parameters:
space
- the space (null
permitted).notify
- notify listeners?- See Also:
-
getCategories
Returns a list of the categories in the plot's primary dataset.- Returns:
- A list of the categories in the plot's primary dataset.
- See Also:
-
getCategoriesForAxis
Returns a list of the categories that should be displayed for the specified axis.- Parameters:
axis
- the axis (null
not permitted)- Returns:
- The categories.
-
isDomainPannable
public boolean isDomainPannable()Returnsfalse
always, because the plot cannot be panned along the domain axis/axes.- Specified by:
isDomainPannable
in interfacePannable
- Returns:
- A boolean.
- See Also:
-
isRangePannable
public boolean isRangePannable()Returnstrue
if panning is enabled for the range axes, andfalse
otherwise.- Specified by:
isRangePannable
in interfacePannable
- Returns:
- A boolean.
- See Also:
-
setRangePannable
public void setRangePannable(boolean pannable) Sets the flag that enables or disables panning of the plot along the range axes.- Parameters:
pannable
- the new flag value.- See Also:
-
panDomainAxes
Pans the domain axes by the specified percentage.- Specified by:
panDomainAxes
in interfacePannable
- Parameters:
percent
- the distance to pan (as a percentage of the axis length).info
- the plot infosource
- the source point where the pan action started.
-
panRangeAxes
Pans the range axes by the specified percentage.- Specified by:
panRangeAxes
in interfacePannable
- Parameters:
percent
- the distance to pan (as a percentage of the axis length).info
- the plot infosource
- the source point where the pan action started.
-
isDomainZoomable
public boolean isDomainZoomable()Returnsfalse
to indicate that the domain axes are not zoomable.- Specified by:
isDomainZoomable
in interfaceZoomable
- Returns:
- A boolean.
- See Also:
-
isRangeZoomable
public boolean isRangeZoomable()Returnstrue
to indicate that the range axes are zoomable.- Specified by:
isRangeZoomable
in interfaceZoomable
- Returns:
- A boolean.
- See Also:
-
zoomDomainAxes
This method does nothing, becauseCategoryPlot
doesn't support zooming on the domain.- Specified by:
zoomDomainAxes
in interfaceZoomable
- Parameters:
factor
- the zoom factor.state
- the plot state.source
- the source point (in Java2D space) for the zoom.- See Also:
-
zoomDomainAxes
public void zoomDomainAxes(double lowerPercent, double upperPercent, PlotRenderingInfo state, Point2D source) This method does nothing, becauseCategoryPlot
doesn't support zooming on the domain.- Specified by:
zoomDomainAxes
in interfaceZoomable
- Parameters:
lowerPercent
- the lower bound.upperPercent
- the upper bound.state
- the plot state.source
- the source point (in Java2D space) for the zoom.- See Also:
-
zoomDomainAxes
public void zoomDomainAxes(double factor, PlotRenderingInfo info, Point2D source, boolean useAnchor) This method does nothing, becauseCategoryPlot
doesn't support zooming on the domain.- Specified by:
zoomDomainAxes
in interfaceZoomable
- Parameters:
factor
- the zoom factor.info
- the plot rendering info.source
- the source point (in Java2D space).useAnchor
- use source point as zoom anchor?- See Also:
-
zoomRangeAxes
Multiplies the range on the range axis/axes by the specified factor.- Specified by:
zoomRangeAxes
in interfaceZoomable
- Parameters:
factor
- the zoom factor.state
- the plot state.source
- the source point (in Java2D space) for the zoom.- See Also:
-
zoomRangeAxes
Multiplies the range on the range axis/axes by the specified factor.- Specified by:
zoomRangeAxes
in interfaceZoomable
- Parameters:
factor
- the zoom factor.info
- the plot rendering info.source
- the source point.useAnchor
- a flag that controls whether or not the source point is used for the zoom anchor.- See Also:
-
zoomRangeAxes
public void zoomRangeAxes(double lowerPercent, double upperPercent, PlotRenderingInfo state, Point2D source) Zooms in on the range axes.- Specified by:
zoomRangeAxes
in interfaceZoomable
- Parameters:
lowerPercent
- the lower bound.upperPercent
- the upper bound.state
- the plot state.source
- the source point (in Java2D space) for the zoom.- See Also:
-
getAnchorValue
public double getAnchorValue()Returns the anchor value.- Returns:
- The anchor value.
- See Also:
-
setAnchorValue
public void setAnchorValue(double value) Sets the anchor value and sends aPlotChangeEvent
to all registered listeners.- Parameters:
value
- the anchor value.- See Also:
-
setAnchorValue
public void setAnchorValue(double value, boolean notify) Sets the anchor value and, if requested, sends aPlotChangeEvent
to all registered listeners.- Parameters:
value
- the value.notify
- notify listeners?- See Also:
-
equals
Tests the plot for equality with an arbitrary object. -
clone
Returns a clone of the plot.- Specified by:
clone
in interfacePublicCloneable
- Overrides:
clone
in classPlot
- Returns:
- A clone.
- Throws:
CloneNotSupportedException
- if the cloning is not supported.
-
dispose
public void dispose()- Specified by:
dispose
in interfaceDisposable
-