Class XYPlot
- All Implemented Interfaces:
Serializable
,Cloneable
,EventListener
,AxisChangeListener
,RendererChangeListener
,ValueAxisPlot
,DatasetChangeListener
- Direct Known Subclasses:
CombinedDomainXYPlot
,CombinedRangeXYPlot
public class XYPlot extends Plot implements ValueAxisPlot, RendererChangeListener, Cloneable, Serializable
XYDataset
interface.
XYPlot
makes use of an XYItemRenderer
to draw each point
on the plot. By using different renderers, various chart types can be
produced.
The ChartFactory
class contains static methods for
creating pre-configured charts.
- See Also:
- Serialized Form
-
Field Summary
Fields Modifier and Type Field Description static Paint
DEFAULT_CROSSHAIR_PAINT
The default crosshair paint.static Stroke
DEFAULT_CROSSHAIR_STROKE
The default crosshair stroke.static boolean
DEFAULT_CROSSHAIR_VISIBLE
The default crosshair visibility.static Paint
DEFAULT_GRIDLINE_PAINT
The default grid line paint.static Stroke
DEFAULT_GRIDLINE_STROKE
The default grid line stroke.Fields inherited from class org.jfree.chart.plot.Plot
DEFAULT_BACKGROUND_ALPHA, DEFAULT_BACKGROUND_PAINT, DEFAULT_FOREGROUND_ALPHA, DEFAULT_INSETS, DEFAULT_OUTLINE_PAINT, DEFAULT_OUTLINE_STROKE, MINIMUM_HEIGHT_TO_DRAW, MINIMUM_WIDTH_TO_DRAW, ZERO
-
Constructor Summary
-
Method Summary
Modifier and Type Method Description void
addAnnotation(XYAnnotation annotation)
Adds an annotation to the plot and sends aPlotChangeEvent
to all registered listeners.void
addDomainMarker(int index, Marker marker, org.jfree.ui.Layer layer)
Adds a marker for a renderer and sends aPlotChangeEvent
to all registered listeners.void
addDomainMarker(Marker marker)
Adds a marker for the domain axis and sends aPlotChangeEvent
to all registered listeners.void
addDomainMarker(Marker marker, org.jfree.ui.Layer layer)
Adds a marker for the domain axis in the specified layer and sends aPlotChangeEvent
to all registered listeners.void
addRangeMarker(int index, Marker marker, org.jfree.ui.Layer layer)
Adds a marker for a renderer and sends aPlotChangeEvent
to all registered listeners.void
addRangeMarker(Marker marker)
Adds a marker for the range axis and sends aPlotChangeEvent
to all registered listeners.void
addRangeMarker(Marker marker, org.jfree.ui.Layer layer)
Adds a marker for the range axis in the specified layer and sends aPlotChangeEvent
to all registered listeners.void
clearAnnotations()
Clears all the annotations and sends aPlotChangeEvent
to all registered listeners.void
clearDomainAxes()
Clears the domain axes from the plot and sends aPlotChangeEvent
to all registered listeners.void
clearDomainMarkers()
Clears all the (foreground and background) domain markers and sends aPlotChangeEvent
to all registered listeners.void
clearRangeAxes()
Clears the range axes from the plot and sends aPlotChangeEvent
to all registered listeners.void
clearRangeMarkers()
Clears all the range markers and sends aPlotChangeEvent
to all registered listeners.void
clearRangeMarkers(int index)
Clears the (foreground and background) range markers for a particular renderer.Object
clone()
Returns a clone of the plot.void
configureDomainAxes()
Configures the domain axes.void
configureRangeAxes()
Configures the range axes.void
datasetChanged(DatasetChangeEvent event)
Receives notification of a change to the plot's dataset.void
draw(Graphics2D g2, Rectangle2D area, Point2D anchor, PlotState parentState, PlotRenderingInfo info)
Draws the plot within the specified area on a graphics device.void
draw(Graphics2D g2, Rectangle2D area, PlotState parentState, PlotRenderingInfo state)
Draws the plot on a Java 2D graphics device (such as the screen or a printer).void
drawAnnotations(Graphics2D g2, Rectangle2D dataArea, PlotRenderingInfo info)
Draws the annotations for the plot.void
drawBackground(Graphics2D g2, Rectangle2D area)
Draws the background for the plot.void
drawDomainTickBands(Graphics2D g2, Rectangle2D dataArea, List<ValueTick> ticks)
Draws the domain tick bands, if any.void
drawRangeTickBands(Graphics2D g2, Rectangle2D dataArea, List<ValueTick> ticks)
Draws the range tick bands, if any.boolean
equals(Object obj)
Tests this plot for equality with another object.org.jfree.ui.Spacer
getAxisOffset()
Returns the axis offset.Range
getDataRange(ValueAxis axis)
Returns the range for the specified axis.XYDataset
getDataset()
Returns the primary dataset for the plot.XYDataset
getDataset(int index)
Returns a dataset.int
getDatasetCount()
Returns the number of datasets.DatasetRenderingOrder
getDatasetRenderingOrder()
Returns the dataset rendering order.ValueAxis
getDomainAxis()
Returns the domain axis for the plot.ValueAxis
getDomainAxis(int index)
Returns a domain axis.int
getDomainAxisCount()
Returns the number of domain axes.org.jfree.ui.RectangleEdge
getDomainAxisEdge()
Returns the edge for the primary domain axis (taking into account the plot's orientation.org.jfree.ui.RectangleEdge
getDomainAxisEdge(int index)
Returns the edge for a domain axis.ValueAxis
getDomainAxisForDataset(int index)
Returns the domain axis for a dataset.AxisLocation
getDomainAxisLocation()
Returns the location of the primary domain axis.AxisLocation
getDomainAxisLocation(int index)
Returns the location for a domain axis.Paint
getDomainCrosshairPaint()
Returns the domain crosshair color.Stroke
getDomainCrosshairStroke()
Returns theStroke
used to draw the crosshair (if visible).double
getDomainCrosshairValue()
Returns the domain crosshair value.Paint
getDomainGridlinePaint()
Returns the paint for the grid lines (if any) plotted against the domain axis.Stroke
getDomainGridlineStroke()
Returns the stroke for the grid-lines (if any) plotted against the domain axis.Collection
getDomainMarkers(int index, org.jfree.ui.Layer layer)
Returns a collection of domain markers for a particular renderer and layer.Collection
getDomainMarkers(org.jfree.ui.Layer layer)
Returns the list of domain markers (read only) for the specified layer.Paint
getDomainTickBandPaint()
Returns the paint used for the domain tick bands.AxisSpace
getFixedDomainAxisSpace()
Returns the fixed domain axis space.LegendItemCollection
getFixedLegendItems()
Returns the fixed legend items, if any.AxisSpace
getFixedRangeAxisSpace()
Returns the fixed range axis space.LegendItemCollection
getLegendItems()
Returns the legend items for the plot.PlotOrientation
getOrientation()
Returns the orientation of the plot.String
getPlotType()
Returns the plot type as a string.Point2D
getQuadrantOrigin()
Returns the origin for the quadrants that can be displayed on the plot.Paint
getQuadrantPaint(int index)
Returns the paint used for the specified quadrant.ValueAxis
getRangeAxis()
Returns the range axis for the plot.ValueAxis
getRangeAxis(int index)
Returns a range axis.int
getRangeAxisCount()
Returns the number of range axes.org.jfree.ui.RectangleEdge
getRangeAxisEdge()
Returns the edge for the primary range axis.org.jfree.ui.RectangleEdge
getRangeAxisEdge(int index)
Returns the edge for a range axis.ValueAxis
getRangeAxisForDataset(int index)
Returns the range axis for a dataset.AxisLocation
getRangeAxisLocation()
Returns the location of the primary range axis.AxisLocation
getRangeAxisLocation(int index)
Returns the location for a range axis.Paint
getRangeCrosshairPaint()
Returns the range crosshair color.Stroke
getRangeCrosshairStroke()
Returns the Stroke used to draw the crosshair (if visible).double
getRangeCrosshairValue()
Returns the range crosshair value.Paint
getRangeGridlinePaint()
Returns the paint for the grid lines (if any) plotted against the range axis.Stroke
getRangeGridlineStroke()
Returns the stroke for the grid lines (if any) plotted against the range axis.Collection<Marker>
getRangeMarkers(int index, org.jfree.ui.Layer layer)
Returns a collection of range markers for a particular renderer and layer.Collection
getRangeMarkers(org.jfree.ui.Layer layer)
Returns the list of range markers (read only) for the specified layer.Paint
getRangeTickBandPaint()
Returns the paint used for the range tick bands.XYItemRenderer
getRenderer()
Returns the renderer for the primary dataset.XYItemRenderer
getRenderer(int index)
Returns the renderer for a dataset, ornull
.XYItemRenderer
getRendererForDataset(XYDataset dataset)
Returns the renderer for the specified dataset.int
getSeriesCount()
Returns the number of series in the primary dataset for this plot.int
getWeight()
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 values...int
indexOf(XYDataset dataset)
Returns the index of the specified dataset, or-1
if the dataset does not belong to the plot.boolean
isDomainCrosshairLockedOnData()
Returns a flag indicating whether or not the crosshair should "lock-on" to actual data values.boolean
isDomainCrosshairVisible()
Returns a flag indicating whether or not the domain crosshair is visible.boolean
isDomainGridlinesVisible()
Returnstrue
if the domain gridlines are visible, andfalse
otherwise.
boolean
isRangeCrosshairLockedOnData()
Returns a flag indicating whether or not the crosshair should "lock-on" to actual data values.boolean
isRangeCrosshairVisible()
Returns a flag indicating whether or not the range crosshair is visible.boolean
isRangeGridlinesVisible()
Returnstrue
if the range axis grid is visible, andfalse
otherwise.
void
mapDatasetToDomainAxis(int index, int axisIndex)
Maps a dataset to a particular domain axis.void
mapDatasetToRangeAxis(int index, int axisIndex)
Maps a dataset to a particular range axis.boolean
render(Graphics2D g2, Rectangle2D dataArea, int index, PlotRenderingInfo info, CrosshairState crosshairState)
Draws a representation of the data within the dataArea region, using the current renderer.void
rendererChanged(RendererChangeEvent event)
Receives notification of a renderer change event.void
setAxisOffset(org.jfree.ui.Spacer offset)
Sets the axis offsets (gap between the data area and the axes).void
setDataset(int index, XYDataset dataset)
Sets a dataset for the plot.void
setDataset(XYDataset dataset)
Sets the primary dataset for the plot, replacing the existing dataset if there is one.void
setDatasetRenderingOrder(DatasetRenderingOrder order)
Sets the rendering order and sends aPlotChangeEvent
to all registered listeners.void
setDomainAxis(int index, ValueAxis axis)
Sets a domain axis and sends aPlotChangeEvent
to all registered listeners.void
setDomainAxis(ValueAxis 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(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
setDomainCrosshairLockedOnData(boolean flag)
Sets the flag indicating whether or not the domain crosshair should "lock-on" to actual data values.void
setDomainCrosshairPaint(Paint paint)
Sets the Paint used to color the crosshairs (if visible) and notifies registered listeners that the axis has been modified.void
setDomainCrosshairStroke(Stroke stroke)
Sets the Stroke used to draw the crosshairs (if visible) and notifies registered listeners that the axis has been modified.void
setDomainCrosshairValue(double value)
Sets the domain crosshair value and sends aPlotChangeEvent
to all registered listeners (provided that the domain crosshair is visible).void
setDomainCrosshairValue(double value, boolean notify)
Sets the domain crosshair value and, if requested, sends aPlotChangeEvent
to all registered listeners (provided that the domain crosshair is visible).void
setDomainCrosshairVisible(boolean flag)
Sets the flag indicating whether or not the domain crosshair is visible.void
setDomainGridlinePaint(Paint paint)
Sets the paint for the grid lines plotted against the domain axis.void
setDomainGridlineStroke(Stroke stroke)
Sets the stroke for the grid lines plotted against the domain axis.void
setDomainGridlinesVisible(boolean visible)
Sets the flag that controls whether or not the domain grid-lines are visible.void
setDomainTickBandPaint(Paint paint)
Sets the paint for the domain tick bands.void
setFixedDomainAxisSpace(AxisSpace space)
Sets the fixed domain axis space.void
setFixedLegendItems(LegendItemCollection items)
Sets the fixed legend items for the plot.void
setFixedRangeAxisSpace(AxisSpace space)
Sets the fixed range axis space.void
setOrientation(PlotOrientation orientation)
Sets the orientation for the plot.void
setQuadrantOrigin(Point2D origin)
Sets the quadrant origin and sends aPlotChangeEvent
to all registered listeners.void
setQuadrantPaint(int index, Paint paint)
Sets the paint used for the specified quadrant 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(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(AxisLocation location)
Sets the location of the primary range axis and sends aPlotChangeEvent
to all registered listeners.void
setRangeAxisLocation(AxisLocation location, boolean notify)
Sets the location of the primary 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.void
setRangeCrosshairPaint(Paint paint)
Sets the Paint used to color the crosshairs (if visible) and notifies registered listeners that the axis has been modified.void
setRangeCrosshairStroke(Stroke stroke)
Sets the Stroke used to draw the crosshairs (if visible) and notifies registered listeners that the axis has been modified.void
setRangeCrosshairValue(double value)
Sets the domain crosshair value.void
setRangeCrosshairValue(double value, boolean notify)
Sets the range crosshair value.void
setRangeCrosshairVisible(boolean flag)
Sets the flag indicating whether or not the range crosshair is visible.void
setRangeGridlinePaint(Paint paint)
Sets the paint for the grid lines plotted against the range axis.void
setRangeGridlineStroke(Stroke stroke)
Sets the stroke for the grid lines plotted against the range axis.void
setRangeGridlinesVisible(boolean visible)
Sets the flag that controls whether or not the range axis grid lines are visible.void
setRangeTickBandPaint(Paint paint)
Sets the paint for the range tick bands.void
setRenderer(int index, XYItemRenderer renderer)
Sets a renderer and sends aPlotChangeEvent
is sent to all registered listeners.void
setRenderer(XYItemRenderer renderer)
Sets the renderer for the primary dataset and sends aPlotChangeEvent
to all registered listeners.void
setWeight(int weight)
Sets the weight for the plot.void
zoom(double percent)
Zooms the axis ranges by the specified percentage about the anchor point.void
zoomHorizontalAxes(double factor)
Multiplies the range on the horizontal axis/axes by the specified factor.void
zoomHorizontalAxes(double lowerPercent, double upperPercent)
Zooms in on the horizontal axis/axes.void
zoomVerticalAxes(double factor)
Multiplies the range on the vertical axis/axes by the specified factor.void
zoomVerticalAxes(double lowerPercent, double upperPercent)
Zooms in on the vertical axes.Methods inherited from class org.jfree.chart.plot.Plot
addChangeListener, axisChanged, drawOutline, getBackgroundAlpha, getBackgroundImage, getBackgroundImageAlignment, getBackgroundPaint, getDataAreaRatio, getDatasetGroup, getDrawingSupplier, getForegroundAlpha, getInsets, getNoDataMessage, getNoDataMessageFont, getNoDataMessagePaint, getOutlinePaint, getOutlineStroke, getParent, getRootPlot, isPlotShowing, isSubplot, notifyListeners, removeChangeListener, resolveDomainAxisLocation, resolveRangeAxisLocation, setBackgroundAlpha, setBackgroundImage, setBackgroundImageAlignment, setBackgroundPaint, setDataAreaRatio, setDrawingSupplier, setForegroundAlpha, setInsets, setInsets, setNoDataMessage, setNoDataMessageFont, setNoDataMessagePaint, setOutlinePaint, setOutlineStroke, setParent, setPlotShowing
-
Field Details
-
DEFAULT_GRIDLINE_STROKE
The default grid line stroke. -
DEFAULT_GRIDLINE_PAINT
The default grid line paint. -
DEFAULT_CROSSHAIR_VISIBLE
public static final boolean DEFAULT_CROSSHAIR_VISIBLEThe default crosshair visibility.- See Also:
- Constant Field Values
-
DEFAULT_CROSSHAIR_STROKE
The default crosshair stroke. -
DEFAULT_CROSSHAIR_PAINT
The default crosshair paint.
-
-
Constructor Details
-
XYPlot
public XYPlot()Default constructor. -
XYPlot
public XYPlot(XYDataset dataset, ValueAxis domainAxis, ValueAxis rangeAxis, XYItemRenderer 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 renderer (null
permitted).
-
-
Method Details
-
getPlotType
Returns the plot type as a string.- Specified by:
getPlotType
in classPlot
- Returns:
- a short string describing the type of plot.
-
getOrientation
Returns the orientation of the plot.- Returns:
- The orientation of the plot.
-
setOrientation
Sets the orientation for the plot.- Parameters:
orientation
- the orientation (null
not allowed).
-
getAxisOffset
public org.jfree.ui.Spacer getAxisOffset()Returns the axis offset.- Returns:
- The axis offset.
-
setAxisOffset
public void setAxisOffset(org.jfree.ui.Spacer offset)Sets the axis offsets (gap between the data area and the axes).- Parameters:
offset
- the offset.
-
getDomainAxis
Returns the domain axis for the plot. If the domain axis for this plot is null, then the method will return the parent plot's domain axis (if there is a parent plot).- Returns:
- The domain axis.
-
getDomainAxis
Returns a domain axis.- Parameters:
index
- the axis index.- Returns:
- The axis (
null
possible).
-
setDomainAxis
Sets the domain axis for the plot and sends aPlotChangeEvent
to all registered listeners.- Parameters:
axis
- the new axis (null
permitted).
-
setDomainAxis
Sets a domain axis and sends aPlotChangeEvent
to all registered listeners.- Parameters:
index
- the axis index.axis
- the axis.
-
getDomainAxisLocation
Returns the location of the primary domain axis.- Returns:
- The location (never
null
).
-
setDomainAxisLocation
Sets the location of the domain axis and sends aPlotChangeEvent
to all registered listeners.- Parameters:
location
- the location (null
not permitted).
-
setDomainAxisLocation
Sets the location of the domain axis and, if requested, sends aPlotChangeEvent
to all registered listeners.- Parameters:
location
- the location (null
not permitted).notify
- notify listeners?
-
getDomainAxisEdge
public org.jfree.ui.RectangleEdge getDomainAxisEdge()Returns the edge for the primary domain axis (taking into account the plot's orientation.- Returns:
- The edge.
-
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. -
getDomainAxisLocation
Returns the location for a domain axis. If this hasn't been set explicitly, the method returns the location that is opposite to the primary domain axis location.- Parameters:
index
- the axis index.- Returns:
- The location (never
null
).
-
setDomainAxisLocation
Sets the location for a domain axis and sends aPlotChangeEvent
to all registered listeners.- Parameters:
index
- the axis index.location
- the location (null
permitted).
-
getDomainAxisEdge
public org.jfree.ui.RectangleEdge getDomainAxisEdge(int index)Returns the edge for a domain axis.- Parameters:
index
- the axis index.- Returns:
- The edge.
-
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.
-
setRangeAxis
Sets the range axis for the plot and sends aPlotChangeEvent
to all registered listeners.- Parameters:
axis
- the axis (null
permitted).
-
getRangeAxisLocation
Returns the location of the primary range axis.- Returns:
- the location (never
null
).
-
setRangeAxisLocation
Sets the location of the primary range axis and sends aPlotChangeEvent
to all registered listeners.- Parameters:
location
- the location (null
not permitted).
-
setRangeAxisLocation
Sets the location of the primary range axis and, if requested, sends aPlotChangeEvent
to all registered listeners.- Parameters:
location
- the location (null
not permitted).notify
- notify listeners?
-
getRangeAxisEdge
public org.jfree.ui.RectangleEdge getRangeAxisEdge()Returns the edge for the primary range axis.- Returns:
- The range axis edge.
-
getRangeAxis
Returns a range axis.- Parameters:
index
- the axis index.- Returns:
- The axis (
null
possible).
-
setRangeAxis
Sets a range axis and sends aPlotChangeEvent
to all registered listeners.- Parameters:
index
- the axis index.axis
- the axis (null
permitted).
-
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. -
getRangeAxisLocation
Returns the location for a range axis. If this hasn't been set explicitly, the method returns the location that is opposite to the primary range axis location.- Parameters:
index
- the axis index.- Returns:
- The location (never
null
).
-
setRangeAxisLocation
Sets the location for a range axis and sends aPlotChangeEvent
to all registered listeners.- Parameters:
index
- the axis index.location
- the location (null
permitted).
-
getRangeAxisEdge
public org.jfree.ui.RectangleEdge getRangeAxisEdge(int index)Returns the edge for a range axis.- Parameters:
index
- the axis index.- Returns:
- The edge.
-
getDataset
Returns the primary dataset for the plot.- Returns:
- The primary dataset (possibly
null
).
-
getDataset
Returns a dataset.- Parameters:
index
- the dataset index.- Returns:
- The dataset (possibly
null
).
-
setDataset
Sets the primary dataset for the plot, replacing the existing dataset if there is one.- Parameters:
dataset
- the dataset (null
permitted).
-
setDataset
Sets a dataset for the plot.- Parameters:
index
- the dataset index.dataset
- the dataset (null
permitted).
-
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.
-
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.
-
getRenderer
Returns the renderer for the primary dataset.- Returns:
- The item renderer (possibly
null
).
-
getRenderer
Returns the renderer for a dataset, ornull
.- Parameters:
index
- the renderer index.- Returns:
- The renderer (possibly
null
).
-
setRenderer
Sets the renderer for the primary dataset and sends aPlotChangeEvent
to all registered listeners. If the renderer is set tonull
, no data will be displayed.- Parameters:
renderer
- the renderer (null
permitted).
-
setRenderer
Sets a renderer and sends aPlotChangeEvent
is sent to all registered listeners.- Parameters:
index
- the index.renderer
- the renderer.
-
getDatasetRenderingOrder
Returns the dataset rendering order.- Returns:
- the order (never
null
).
-
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).
-
getRendererForDataset
Returns the renderer for the specified dataset.- Parameters:
dataset
- the dataset (null
permitted).- Returns:
- The renderer (possibly
null
).
-
getWeight
public int getWeight()Returns the weight for this plot when it is used as a subplot within a combined plot.- Returns:
- the weight.
-
setWeight
public void setWeight(int weight)Sets the weight for the plot.- Parameters:
weight
- the weight.
-
isDomainGridlinesVisible
public boolean isDomainGridlinesVisible()Returnstrue
if the domain gridlines are visible, andfalse
otherwise. @return
true
orfalse
. -
setDomainGridlinesVisible
public void setDomainGridlinesVisible(boolean visible)Sets the flag that controls whether or not the domain 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.
-
getDomainGridlineStroke
Returns the stroke for the grid-lines (if any) plotted against the domain axis.- Returns:
- the stroke.
-
setDomainGridlineStroke
Sets the stroke for the grid lines plotted against the domain axis.If you set this to
null
, no grid lines will be drawn.- Parameters:
stroke
- the stroke (null
permitted).
-
getDomainGridlinePaint
Returns the paint for the grid lines (if any) plotted against the domain axis.- Returns:
- the paint.
-
setDomainGridlinePaint
Sets the paint for the grid lines plotted against the domain axis.If you set this to
null
, no grid lines will be drawn.- Parameters:
paint
- the paint (null
permitted).
-
isRangeGridlinesVisible
public boolean isRangeGridlinesVisible()Returnstrue
if the range axis grid is visible, andfalse
otherwise. @return
true
orfalse
. -
setRangeGridlinesVisible
public void setRangeGridlinesVisible(boolean visible)Sets the flag that controls whether or not the range axis 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.
-
getRangeGridlineStroke
Returns the stroke for the grid lines (if any) plotted against the range axis.- Returns:
- the stroke.
-
setRangeGridlineStroke
Sets the stroke for the grid lines plotted against the range axis.If you set this to
null
, no grid lines will be drawn.- Parameters:
stroke
- the stroke (null
permitted).
-
getRangeGridlinePaint
Returns the paint for the grid lines (if any) plotted against the range axis.- Returns:
- the paint.
-
setRangeGridlinePaint
Sets the paint for the grid lines plotted against the range axis.If you set this to
null
, no grid lines will be drawn.- Parameters:
paint
- the paint (null
permitted).
-
getDomainTickBandPaint
Returns the paint used for the domain tick bands. If this isnull
, no tick bands will be drawn.- Returns:
- The paint (possibly
null
).
-
setDomainTickBandPaint
Sets the paint for the domain tick bands.- Parameters:
paint
- the paint (null
permitted).
-
getRangeTickBandPaint
Returns the paint used for the range tick bands. If this isnull
, no tick bands will be drawn.- Returns:
- The paint (possibly
null
).
-
setRangeTickBandPaint
Sets the paint for the range tick bands.- Parameters:
paint
- the paint (null
permitted).
-
getQuadrantOrigin
Returns the origin for the quadrants that can be displayed on the plot. This defaults to (0, 0).- Returns:
- The origin point (never
null
).
-
setQuadrantOrigin
Sets the quadrant origin and sends aPlotChangeEvent
to all registered listeners.- Parameters:
origin
- the origin (null
not permitted).
-
getQuadrantPaint
Returns the paint used for the specified quadrant.- Parameters:
index
- the quadrant index (0-3).- Returns:
- The paint (possibly
null
).
-
setQuadrantPaint
Sets the paint used for the specified quadrant and sends aPlotChangeEvent
to all registered listeners.- Parameters:
index
- the quadrant index (0-3).paint
- the paint (null
permitted).
-
addDomainMarker
Adds a marker for 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 range axis, however this is entirely up to the renderer.
- Parameters:
marker
- the marker (null
not permitted).
-
addDomainMarker
Adds a marker for the domain axis in the specified layer 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).
-
clearDomainMarkers
public void clearDomainMarkers()Clears all the (foreground and background) domain markers and sends aPlotChangeEvent
to all registered listeners. -
addDomainMarker
Adds a marker for a renderer and sends aPlotChangeEvent
to all registered listeners.Typically a marker will be drawn by the renderer as a line perpendicular to the domain axis (that the renderer is mapped to), however this is entirely up to the renderer.
- Parameters:
index
- the renderer index.marker
- the marker.layer
- the layer (foreground or background).
-
addRangeMarker
Adds a marker for 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).
-
addRangeMarker
Adds a marker for the range axis in the specified layer 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).
-
clearRangeMarkers
public void clearRangeMarkers()Clears all the range markers and sends aPlotChangeEvent
to all registered listeners. -
addRangeMarker
Adds a marker for a renderer 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:
index
- the renderer index.marker
- the marker.layer
- the layer (foreground or background).
-
clearRangeMarkers
public void clearRangeMarkers(int index)Clears the (foreground and background) range markers for a particular renderer.- Parameters:
index
- the renderer index.
-
addAnnotation
Adds an annotation to the plot and sends aPlotChangeEvent
to all registered listeners.- Parameters:
annotation
- the annotation (null
not permitted).
-
clearAnnotations
public void clearAnnotations()Clears all the annotations and sends aPlotChangeEvent
to all registered listeners. -
draw
Draws the plot on a Java 2D graphics device (such as the screen or a printer).This plot relies on an
XYItemRenderer
to draw each item in the plot. This allows the visual representation of the data to be changed easily.The optional info argument collects information about the rendering of the plot (dimensions, tooltip information etc). Just pass in
null
if you do not need this information. -
draw
public void draw(Graphics2D g2, Rectangle2D area, Point2D anchor, PlotState parentState, PlotRenderingInfo info)Draws the plot within the specified area on a graphics device.- Overrides:
draw
in classPlot
- Parameters:
g2
- the graphics device.area
- the plot area (in Java2D space).anchor
- an anchor point in Java2D space (null
permitted).parentState
- the state from the parent plot, if there is one (null
permitted).info
- collects chart drawing information (null
permitted).
-
drawBackground
Draws the background for the plot.- Overrides:
drawBackground
in classPlot
- Parameters:
g2
- the graphics device.area
- the area.
-
drawDomainTickBands
Draws the domain tick bands, if any.- Parameters:
g2
- the graphics device.dataArea
- the data area.ticks
- the ticks.
-
drawRangeTickBands
Draws the range tick bands, if any.- Parameters:
g2
- the graphics device.dataArea
- the data area.ticks
- the ticks.
-
render
public boolean render(Graphics2D g2, Rectangle2D dataArea, int index, PlotRenderingInfo info, CrosshairState crosshairState)Draws a representation of the data within the dataArea region, using the current renderer.The
info
andcrosshairState
arguments may benull
.- Parameters:
g2
- the graphics device.dataArea
- the region in which the data is to be drawn.index
- the dataset index.info
- an optional object for collection dimension information.crosshairState
- collects crosshair information (null
permitted).- Returns:
- A flag that indicates whether any data was actually rendered.
-
getDomainAxisForDataset
Returns the domain axis for a dataset.- Parameters:
index
- the dataset index.- Returns:
- the axis
-
getRangeAxisForDataset
Returns the range axis for a dataset.- Parameters:
index
- the dataset index.- Returns:
- The axis
-
drawAnnotations
Draws the annotations for the plot.- Parameters:
g2
- the graphics device.dataArea
- the data area.info
- the chart rendering info.
-
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.
-
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.
-
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
).
-
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
).
-
handleClick
Handles a 'click' on the plot by updating the anchor values...- Overrides:
handleClick
in classPlot
- Parameters:
x
- the x-coordinate, where the click occurred, in Java2D space.y
- the y-coordinate, where the click occurred, in Java2D space.info
- object containing information about the plot dimensions.
-
zoom
public void zoom(double percent)Zooms the axis ranges by the specified percentage about the anchor point. -
getDataRange
Returns the range for the specified axis.- Specified by:
getDataRange
in interfaceValueAxisPlot
- Parameters:
axis
- the axis.- Returns:
- The range.
-
datasetChanged
Receives notification of a change to the plot's dataset.The axis ranges are updated 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.
-
isDomainCrosshairVisible
public boolean isDomainCrosshairVisible()Returns a flag indicating whether or not the domain crosshair is visible.- Returns:
- the flag.
-
setDomainCrosshairVisible
public void setDomainCrosshairVisible(boolean flag)Sets the flag indicating whether or not the domain crosshair is visible.- Parameters:
flag
- the new value of the flag.
-
isDomainCrosshairLockedOnData
public boolean isDomainCrosshairLockedOnData()Returns a flag indicating whether or not the crosshair should "lock-on" to actual data values.- Returns:
- the flag.
-
setDomainCrosshairLockedOnData
public void setDomainCrosshairLockedOnData(boolean flag)Sets the flag indicating whether or not the domain crosshair should "lock-on" to actual data values.- Parameters:
flag
- the flag.
-
getDomainCrosshairValue
public double getDomainCrosshairValue()Returns the domain crosshair value.- Returns:
- the value.
-
setDomainCrosshairValue
public void setDomainCrosshairValue(double value)Sets the domain crosshair value and sends aPlotChangeEvent
to all registered listeners (provided that the domain crosshair is visible).- Parameters:
value
- the value.
-
setDomainCrosshairValue
public void setDomainCrosshairValue(double value, boolean notify)Sets the domain crosshair value and, if requested, sends aPlotChangeEvent
to all registered listeners (provided that the domain crosshair is visible).- Parameters:
value
- the new value.notify
- notify listeners?
-
getDomainCrosshairStroke
Returns theStroke
used to draw the crosshair (if visible).- Returns:
- the crosshair stroke.
-
setDomainCrosshairStroke
Sets the Stroke used to draw the crosshairs (if visible) and notifies registered listeners that the axis has been modified.- Parameters:
stroke
- the new crosshair stroke.
-
getDomainCrosshairPaint
Returns the domain crosshair color.- Returns:
- the crosshair color.
-
setDomainCrosshairPaint
Sets the Paint used to color the crosshairs (if visible) and notifies registered listeners that the axis has been modified.- Parameters:
paint
- the new crosshair paint.
-
isRangeCrosshairVisible
public boolean isRangeCrosshairVisible()Returns a flag indicating whether or not the range crosshair is visible.- Returns:
- the flag.
-
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.
-
isRangeCrosshairLockedOnData
public boolean isRangeCrosshairLockedOnData()Returns a flag indicating whether or not the crosshair should "lock-on" to actual data values.- Returns:
- the flag.
-
setRangeCrosshairLockedOnData
public void setRangeCrosshairLockedOnData(boolean flag)Sets the flag indicating whether or not the range crosshair should "lock-on" to actual data values.- Parameters:
flag
- the flag.
-
getRangeCrosshairValue
public double getRangeCrosshairValue()Returns the range crosshair value.- Returns:
- The value.
-
setRangeCrosshairValue
public void setRangeCrosshairValue(double value)Sets the domain crosshair value.Registered listeners are notified that the plot has been modified, but only if the crosshair is visible.
- Parameters:
value
- the new value.
-
setRangeCrosshairValue
public void setRangeCrosshairValue(double value, boolean notify)Sets the range crosshair value.Registered listeners are notified that the axis has been modified, but only if the crosshair is visible.
- Parameters:
value
- the new value.notify
- a flag that controls whether or not listeners are notified.
-
getRangeCrosshairStroke
Returns the Stroke used to draw the crosshair (if visible).- Returns:
- the crosshair stroke.
-
setRangeCrosshairStroke
Sets the Stroke used to draw the crosshairs (if visible) and notifies registered listeners that the axis has been modified.- Parameters:
stroke
- the new crosshair stroke.
-
getRangeCrosshairPaint
Returns the range crosshair color.- Returns:
- the crosshair color.
-
setRangeCrosshairPaint
Sets the Paint used to color the crosshairs (if visible) and notifies registered listeners that the axis has been modified.- Parameters:
paint
- the new crosshair paint.
-
getFixedDomainAxisSpace
Returns the fixed domain axis space.- Returns:
- The fixed domain axis space (possibly
null
).
-
setFixedDomainAxisSpace
Sets the fixed domain axis space.- Parameters:
space
- the space.
-
getFixedRangeAxisSpace
Returns the fixed range axis space.- Returns:
- The fixed range axis space.
-
setFixedRangeAxisSpace
Sets the fixed range axis space.- Parameters:
space
- the space.
-
zoomHorizontalAxes
public void zoomHorizontalAxes(double factor)Multiplies the range on the horizontal axis/axes by the specified factor.- Specified by:
zoomHorizontalAxes
in interfaceValueAxisPlot
- Parameters:
factor
- the zoom factor.
-
zoomHorizontalAxes
public void zoomHorizontalAxes(double lowerPercent, double upperPercent)Zooms in on the horizontal axis/axes. The new lower and upper bounds are specified as percentages of the current axis range, where 0 percent is the current lower bound and 100 percent is the current upper bound.- Specified by:
zoomHorizontalAxes
in interfaceValueAxisPlot
- Parameters:
lowerPercent
- a percentage that determines the new lower bound for the axis (e.g. 0.20 is twenty percent).upperPercent
- a percentage that determines the new upper bound for the axis (e.g. 0.80 is eighty percent).
-
zoomVerticalAxes
public void zoomVerticalAxes(double factor)Multiplies the range on the vertical axis/axes by the specified factor.- Specified by:
zoomVerticalAxes
in interfaceValueAxisPlot
- Parameters:
factor
- the zoom factor.
-
zoomVerticalAxes
public void zoomVerticalAxes(double lowerPercent, double upperPercent)Zooms in on the vertical axes.- Specified by:
zoomVerticalAxes
in interfaceValueAxisPlot
- Parameters:
lowerPercent
- the lower bound.upperPercent
- the upper bound.
-
getSeriesCount
public int getSeriesCount()Returns the number of series in the primary dataset for this plot. If the dataset isnull
, the method returns 0.- Returns:
- The series count.
-
getFixedLegendItems
Returns the fixed legend items, if any.- Returns:
- The legend items (possibly
null
).
-
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).
-
getLegendItems
Returns the legend items for the plot. Each legend item is generated by the plot's renderer, since the renderer is responsible for the visual representation of the data.- Overrides:
getLegendItems
in classPlot
- Returns:
- The legend items.
-
equals
Tests this plot for equality with another object. -
clone
Returns a clone of the plot.- Overrides:
clone
in classPlot
- Returns:
- A clone.
- Throws:
CloneNotSupportedException
- this can occur if some component of the plot cannot be cloned.
-