Class ContourPlot
- All Implemented Interfaces:
PropertyChangeListener
,Serializable
,Cloneable
,EventListener
,AxisChangeListener
,ContourValuePlot
,ValueAxisPlot
,DatasetChangeListener
public class ContourPlot extends Plot implements ContourValuePlot, ValueAxisPlot, PropertyChangeListener, Serializable, Cloneable
- Author:
- David M. O'Donnell
- See Also:
- Serialized Form
-
Field Summary
Fields inherited from class org.jfree.chart.plot.Plot
DEFAULT_BACKGROUND_ALPHA, DEFAULT_BACKGROUND_PAINT, DEFAULT_FOREGROUND_ALPHA, DEFAULT_OUTLINE_PAINT, DEFAULT_OUTLINE_STROKE, MINIMUM_HEIGHT_TO_DRAW, MINIMUM_WIDTH_TO_DRAW, ZERO
-
Constructor Summary
Constructors Constructor Description ContourPlot(ContourDataset dataset, ValueAxis domainAxis, ValueAxis rangeAxis, ColorBar colorBar)
Constructs a contour plot with the specified axes (other attributes take default values). -
Method Summary
Modifier and Type Method Description void
addAnnotation(XYAnnotation annotation)
Adds an annotation to the plot.void
addDomainMarker(Marker marker)
Adds a marker for the domain axis.void
addRangeMarker(Marker marker)
Adds a marker for the range axis.void
axisChanged(AxisChangeEvent event)
Receives notification of a change to one of the plot's axes.void
clearAnnotations()
Clears all the annotations.void
clearDomainMarkers()
Clears all the domain markers.void
clearRangeMarkers()
Clears all the range markers.Object
clone()
Extends plot cloning to this plot typevoid
contourRenderer(Graphics2D g2, Rectangle2D dataArea, PlotRenderingInfo info, ContourPlot plot, ValueAxis horizontalAxis, ValueAxis verticalAxis, ColorBar colorBar, ContourDataset data, CrosshairState crosshairState)
Fills the plot.void
datasetChanged(DatasetChangeEvent event)
Receives notification of a change to the plot's dataset.void
draw(Graphics2D g2, Rectangle2D plotArea, PlotState parentState, PlotRenderingInfo info)
Draws the plot on a Java 2D graphics device (such as the screen or a printer).void
drawDomainMarker(Graphics2D g2, ContourPlot plot, ValueAxis domainAxis, Marker marker, Rectangle2D dataArea)
Draws a vertical line on the chart to represent a 'range marker'.void
drawRangeMarker(Graphics2D g2, ContourPlot plot, ValueAxis rangeAxis, Marker marker, Rectangle2D dataArea)
Draws a horizontal line across the chart to represent a 'range marker'.ClipPath
getClipPath()
Returns the clipPath.ColorBar
getColorBar()
Returns the colorbar.org.jfree.ui.RectangleEdge
getColorBarLocation()
Returns the color bar location.Range
getContourDataRange()
Returns the range for the Contours.ContourDataset
getContourDataset()
Deprecated.Use the getDataset() method instead.Range
getDataRange(ValueAxis axis)
Returns the range for an axis.ContourDataset
getDataset()
Returns the primary dataset for the plot.ValueAxis
getDomainAxis()
Returns the domain axis for the plot.Paint
getDomainCrosshairPaint()
Returns the domain crosshair color.Stroke
getDomainCrosshairStroke()
Returns the Stroke used to draw the crosshair (if visible).double
getDomainCrosshairValue()
Returns the domain crosshair value.Paint
getMissingPaint()
Returns the missingPaint.String
getPlotType()
Returns the plot type as a string.double
getPtSizePct()
Returns the ptSizePct.ValueAxis
getRangeAxis()
Returns the range axis for the plot.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.ContourToolTipGenerator
getToolTipGenerator()
Returns the tool tip generator.XYURLGenerator
getURLGenerator()
Returns the URL generator for HTML image maps.void
handleClick(int x, int y, PlotRenderingInfo info)
Handles a 'click' on the plot by updating the anchor values...boolean
isCompatibleDomainAxis(ValueAxis axis)
Checks the compatibility of a domain axis, returning true if the axis is compatible with the plot, and false otherwise.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
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
isRenderAsPoints()
Returns the renderAsPoints.void
pointRenderer(Graphics2D g2, Rectangle2D dataArea, PlotRenderingInfo info, ContourPlot plot, ValueAxis domainAxis, ValueAxis rangeAxis, ColorBar colorBar, ContourDataset data, CrosshairState crosshairState)
Draws the visual representation of a single data item.void
propertyChange(PropertyChangeEvent event)
Notifies all registered listeners of a property change.void
render(Graphics2D g2, Rectangle2D dataArea, PlotRenderingInfo info, CrosshairState crosshairState)
Draws a representation of the data within the dataArea region, using the current renderer.void
setClipPath(ClipPath clipPath)
Sets the clipPath.void
setColorBarAxis(ColorBar axis)
Sets the colorbar for the plot.void
setColorBarLocation(org.jfree.ui.RectangleEdge edge)
Sets the color bar location and sends aPlotChangeEvent
to all registered listeners.void
setDataset(ContourDataset dataset)
Sets the dataset for the plot, replacing the existing dataset if there is one.void
setDomainAxis(ValueAxis axis)
Sets the domain axis for the plot (this must be compatible with the plot type or an exception is thrown).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.void
setDomainCrosshairValue(double value, boolean notify)
Sets the domain crosshair value.void
setDomainCrosshairVisible(boolean flag)
Sets the flag indicating whether or not the domain crosshair is visible.void
setMissingPaint(Paint missingPaint)
Sets the missingPaint.void
setPtSizePct(double ptSizePct)
Sets the ptSizePct.void
setRangeAxis(ValueAxis axis)
Sets the range axis for the plot.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
setRenderAsPoints(boolean renderAsPoints)
Sets the renderAsPoints.void
setToolTipGenerator(ContourToolTipGenerator generator)
Sets the tool tip generator.void
setURLGenerator(XYURLGenerator urlGenerator)
Sets the URL generator for HTML image maps.Range
visibleRange(ContourDataset data, Range x, Range y)
Returns the visible z-range.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 the horizontal axes (not yet implemented).void
zoomVerticalAxes(double factor)
Multiplies the range on the vertical axis/axes by the specified factor.void
zoomVerticalAxes(double lowerPercent, double upperPercent)
Zooms the vertical axes (not yet implemented).Methods inherited from class org.jfree.chart.plot.Plot
addChangeListener, draw, drawBackground, drawOutline, equals, getBackgroundAlpha, getBackgroundImage, getBackgroundImageAlignment, getBackgroundPaint, getDataAreaRatio, getDatasetGroup, getDrawingSupplier, getForegroundAlpha, getInsets, getLegendItems, 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
-
Constructor Details
-
ContourPlot
public ContourPlot(ContourDataset dataset, ValueAxis domainAxis, ValueAxis rangeAxis, ColorBar colorBar)Constructs a contour plot with the specified axes (other attributes take default values).- Parameters:
dataset
- The dataset.domainAxis
- The domain axis.rangeAxis
- The range axis.colorBar
- The z-axis axis.
-
-
Method Details
-
getColorBarLocation
public org.jfree.ui.RectangleEdge getColorBarLocation()Returns the color bar location.- Returns:
- The color bar location.
-
setColorBarLocation
public void setColorBarLocation(org.jfree.ui.RectangleEdge edge)Sets the color bar location and sends aPlotChangeEvent
to all registered listeners.- Parameters:
edge
- the location.
-
getDataset
Returns the primary dataset for the plot.- Returns:
- The primary dataset (possibly
null
).
-
setDataset
Sets the dataset for the plot, replacing the existing dataset if there is one.- Parameters:
dataset
- the dataset (null
permitted).
-
getContourDataset
Deprecated.Use the getDataset() method instead.A convenience method that returns the dataset for the plot, cast as a ContourDataset.- Returns:
- The dataset for the plot, cast as an ContourDataset.
-
getDomainAxis
Returns the domain axis for the plot.- Returns:
- The domain axis.
-
setDomainAxis
Sets the domain axis for the plot (this must be compatible with the plot type or an exception is thrown).- Parameters:
axis
- The new axis.
-
getRangeAxis
Returns the range axis for the plot.- Returns:
- The range axis.
-
setRangeAxis
Sets the range axis for the plot.An exception is thrown if the new axis and the plot are not mutually compatible.
- Parameters:
axis
- The new axis (null permitted).
-
setColorBarAxis
Sets the colorbar for the plot.- Parameters:
axis
- The new axis (null permitted).
-
addDomainMarker
Adds a marker for the domain axis.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.
-
clearDomainMarkers
public void clearDomainMarkers()Clears all the domain markers. -
addRangeMarker
Adds a marker for the range axis.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.
-
clearRangeMarkers
public void clearRangeMarkers()Clears all the range markers. -
addAnnotation
Adds an annotation to the plot.- Parameters:
annotation
- the annotation.
-
clearAnnotations
public void clearAnnotations()Clears all the annotations. -
isCompatibleDomainAxis
Checks the compatibility of a domain axis, returning true if the axis is compatible with the plot, and false otherwise.- Parameters:
axis
- The proposed axis.- Returns:
true
if the axis is compatible with the plot.
-
draw
public void draw(Graphics2D g2, Rectangle2D plotArea, PlotState parentState, PlotRenderingInfo info)Draws the plot on a Java 2D graphics device (such as the screen or a printer).The optional
info
argument collects information about the rendering of the plot (dimensions, tooltip information etc). Just pass innull
if you do not need this information. -
render
public void render(Graphics2D g2, Rectangle2D dataArea, 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.info
- an optional object for collection dimension information.crosshairState
- an optional object for collecting crosshair info.
-
contourRenderer
public void contourRenderer(Graphics2D g2, Rectangle2D dataArea, PlotRenderingInfo info, ContourPlot plot, ValueAxis horizontalAxis, ValueAxis verticalAxis, ColorBar colorBar, ContourDataset data, CrosshairState crosshairState)Fills the plot.- Parameters:
g2
- the graphics device.dataArea
- the area within which the data is being drawn.info
- collects information about the drawing.plot
- the plot (can be used to obtain standard color information etc).horizontalAxis
- the domain (horizontal) axis.verticalAxis
- the range (vertical) axis.colorBar
- the color bar axis.data
- the dataset.crosshairState
- information about crosshairs on a plot.
-
pointRenderer
public void pointRenderer(Graphics2D g2, Rectangle2D dataArea, PlotRenderingInfo info, ContourPlot plot, ValueAxis domainAxis, ValueAxis rangeAxis, ColorBar colorBar, ContourDataset data, CrosshairState crosshairState)Draws the visual representation of a single data item.- Parameters:
g2
- the graphics device.dataArea
- the area within which the data is being drawn.info
- collects information about the drawing.plot
- the plot (can be used to obtain standard color information etc).domainAxis
- the domain (horizontal) axis.rangeAxis
- the range (vertical) axis.colorBar
- the color bar axis.data
- the dataset.crosshairState
- information about crosshairs on a plot.
-
handleClick
Handles a 'click' on the plot by updating the anchor values...- Overrides:
handleClick
in classPlot
- Parameters:
x
- x-coordinate, where the click occured.y
- y-coordinate, where the click occured.info
- An object for collection dimension information.
-
zoom
public void zoom(double percent)Zooms the axis ranges by the specified percentage about the anchor point. -
getPlotType
Returns the plot type as a string.- Specified by:
getPlotType
in classPlot
- Returns:
- A short string describing the type of plot.
-
getDataRange
Returns the range for an axis.- Specified by:
getDataRange
in interfaceValueAxisPlot
- Parameters:
axis
- the axis.- Returns:
- The range for an axis.
-
getContourDataRange
Returns the range for the Contours.- Specified by:
getContourDataRange
in interfaceContourValuePlot
- Returns:
- The range for the Contours (z-axis).
-
propertyChange
Notifies all registered listeners of a property change.One source of property change events is the plot's renderer.
- Specified by:
propertyChange
in interfacePropertyChangeListener
- Parameters:
event
- Information about the property change.
-
datasetChanged
Receives notification of a change to the plot's dataset.The chart reacts by passing on a chart change event to all registered listeners.
- Specified by:
datasetChanged
in interfaceDatasetChangeListener
- Overrides:
datasetChanged
in classPlot
- Parameters:
event
- Information about the event (not used here).
-
getColorBar
Returns the colorbar.- Returns:
- The colorbar.
-
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.Registered listeners are notified that the plot has been modified, but only if the crosshair is visible.
- Parameters:
value
- the new value.
-
setDomainCrosshairValue
public void setDomainCrosshairValue(double value, boolean notify)Sets the domain 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.
-
getDomainCrosshairStroke
Returns the Stroke 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.
-
getToolTipGenerator
Returns the tool tip generator.- Returns:
- the tool tip generator (possibly null).
-
setToolTipGenerator
Sets the tool tip generator.- Parameters:
generator
- the tool tip generator (null permitted).
-
getURLGenerator
Returns the URL generator for HTML image maps.- Returns:
- the URL generator (possibly null).
-
setURLGenerator
Sets the URL generator for HTML image maps.- Parameters:
urlGenerator
- the URL generator (null permitted).
-
drawDomainMarker
public void drawDomainMarker(Graphics2D g2, ContourPlot plot, ValueAxis domainAxis, Marker marker, Rectangle2D dataArea)Draws a vertical line on the chart to represent a 'range marker'.- Parameters:
g2
- the graphics device.plot
- the plot.domainAxis
- the domain axis.marker
- the marker line.dataArea
- the axis data area.
-
drawRangeMarker
public void drawRangeMarker(Graphics2D g2, ContourPlot plot, ValueAxis rangeAxis, Marker marker, Rectangle2D dataArea)Draws a horizontal line across the chart to represent a 'range marker'.- Parameters:
g2
- the graphics device.plot
- the plot.rangeAxis
- the range axis.marker
- the marker line.dataArea
- the axis data area.
-
getClipPath
Returns the clipPath.- Returns:
- ClipPath
-
setClipPath
Sets the clipPath.- Parameters:
clipPath
- The clipPath to set
-
getPtSizePct
public double getPtSizePct()Returns the ptSizePct.- Returns:
- double
-
isRenderAsPoints
public boolean isRenderAsPoints()Returns the renderAsPoints.- Returns:
- boolean
-
setPtSizePct
public void setPtSizePct(double ptSizePct)Sets the ptSizePct.- Parameters:
ptSizePct
- The ptSizePct to set
-
setRenderAsPoints
public void setRenderAsPoints(boolean renderAsPoints)Sets the renderAsPoints.- Parameters:
renderAsPoints
- The renderAsPoints to set
-
axisChanged
Receives notification of a change to one of the plot's axes.- Specified by:
axisChanged
in interfaceAxisChangeListener
- Overrides:
axisChanged
in classPlot
- Parameters:
event
- information about the event.
-
visibleRange
Returns the visible z-range.- Parameters:
data
- the dataset.x
- the x range.y
- the y range.- Returns:
- The range.
-
getMissingPaint
Returns the missingPaint.- Returns:
- Paint
-
setMissingPaint
Sets the missingPaint.- Parameters:
missingPaint
- The missingPaint to set
-
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 the horizontal axes (not yet implemented).- Specified by:
zoomHorizontalAxes
in interfaceValueAxisPlot
- Parameters:
lowerPercent
- the new lower bound.upperPercent
- the new upper bound.
-
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 the vertical axes (not yet implemented).- Specified by:
zoomVerticalAxes
in interfaceValueAxisPlot
- Parameters:
lowerPercent
- the new lower bound.upperPercent
- the new upper bound.
-
clone
Extends plot cloning to this plot type- Overrides:
clone
in classPlot
- Returns:
- A clone.
- Throws:
CloneNotSupportedException
- if some component of the plot does not support cloning.- See Also:
Plot.clone()
-