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 voidaddAnnotation(XYAnnotation annotation)Adds an annotation to the plot.voidaddDomainMarker(Marker marker)Adds a marker for the domain axis.voidaddRangeMarker(Marker marker)Adds a marker for the range axis.voidaxisChanged(AxisChangeEvent event)Receives notification of a change to one of the plot's axes.voidclearAnnotations()Clears all the annotations.voidclearDomainMarkers()Clears all the domain markers.voidclearRangeMarkers()Clears all the range markers.Objectclone()Extends plot cloning to this plot typevoidcontourRenderer(Graphics2D g2, Rectangle2D dataArea, PlotRenderingInfo info, ContourPlot plot, ValueAxis horizontalAxis, ValueAxis verticalAxis, ColorBar colorBar, ContourDataset data, CrosshairState crosshairState)Fills the plot.voiddatasetChanged(DatasetChangeEvent event)Receives notification of a change to the plot's dataset.voiddraw(Graphics2D g2, Rectangle2D plotArea, PlotState parentState, PlotRenderingInfo info)Draws the plot on a Java 2D graphics device (such as the screen or a printer).voiddrawDomainMarker(Graphics2D g2, ContourPlot plot, ValueAxis domainAxis, Marker marker, Rectangle2D dataArea)Draws a vertical line on the chart to represent a 'range marker'.voiddrawRangeMarker(Graphics2D g2, ContourPlot plot, ValueAxis rangeAxis, Marker marker, Rectangle2D dataArea)Draws a horizontal line across the chart to represent a 'range marker'.ClipPathgetClipPath()Returns the clipPath.ColorBargetColorBar()Returns the colorbar.org.jfree.ui.RectangleEdgegetColorBarLocation()Returns the color bar location.RangegetContourDataRange()Returns the range for the Contours.ContourDatasetgetContourDataset()Deprecated.Use the getDataset() method instead.RangegetDataRange(ValueAxis axis)Returns the range for an axis.ContourDatasetgetDataset()Returns the primary dataset for the plot.ValueAxisgetDomainAxis()Returns the domain axis for the plot.PaintgetDomainCrosshairPaint()Returns the domain crosshair color.StrokegetDomainCrosshairStroke()Returns the Stroke used to draw the crosshair (if visible).doublegetDomainCrosshairValue()Returns the domain crosshair value.PaintgetMissingPaint()Returns the missingPaint.StringgetPlotType()Returns the plot type as a string.doublegetPtSizePct()Returns the ptSizePct.ValueAxisgetRangeAxis()Returns the range axis for the plot.PaintgetRangeCrosshairPaint()Returns the range crosshair color.StrokegetRangeCrosshairStroke()Returns the Stroke used to draw the crosshair (if visible).doublegetRangeCrosshairValue()Returns the range crosshair value.ContourToolTipGeneratorgetToolTipGenerator()Returns the tool tip generator.XYURLGeneratorgetURLGenerator()Returns the URL generator for HTML image maps.voidhandleClick(int x, int y, PlotRenderingInfo info)Handles a 'click' on the plot by updating the anchor values...booleanisCompatibleDomainAxis(ValueAxis axis)Checks the compatibility of a domain axis, returning true if the axis is compatible with the plot, and false otherwise.booleanisDomainCrosshairLockedOnData()Returns a flag indicating whether or not the crosshair should "lock-on" to actual data values.booleanisDomainCrosshairVisible()Returns a flag indicating whether or not the domain crosshair is visible.booleanisRangeCrosshairLockedOnData()Returns a flag indicating whether or not the crosshair should "lock-on" to actual data values.booleanisRangeCrosshairVisible()Returns a flag indicating whether or not the range crosshair is visible.booleanisRenderAsPoints()Returns the renderAsPoints.voidpointRenderer(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.voidpropertyChange(PropertyChangeEvent event)Notifies all registered listeners of a property change.voidrender(Graphics2D g2, Rectangle2D dataArea, PlotRenderingInfo info, CrosshairState crosshairState)Draws a representation of the data within the dataArea region, using the current renderer.voidsetClipPath(ClipPath clipPath)Sets the clipPath.voidsetColorBarAxis(ColorBar axis)Sets the colorbar for the plot.voidsetColorBarLocation(org.jfree.ui.RectangleEdge edge)Sets the color bar location and sends aPlotChangeEventto all registered listeners.voidsetDataset(ContourDataset dataset)Sets the dataset for the plot, replacing the existing dataset if there is one.voidsetDomainAxis(ValueAxis axis)Sets the domain axis for the plot (this must be compatible with the plot type or an exception is thrown).voidsetDomainCrosshairLockedOnData(boolean flag)Sets the flag indicating whether or not the domain crosshair should "lock-on" to actual data values.voidsetDomainCrosshairPaint(Paint paint)Sets the Paint used to color the crosshairs (if visible) and notifies registered listeners that the axis has been modified.voidsetDomainCrosshairStroke(Stroke stroke)Sets the Stroke used to draw the crosshairs (if visible) and notifies registered listeners that the axis has been modified.voidsetDomainCrosshairValue(double value)Sets the domain crosshair value.voidsetDomainCrosshairValue(double value, boolean notify)Sets the domain crosshair value.voidsetDomainCrosshairVisible(boolean flag)Sets the flag indicating whether or not the domain crosshair is visible.voidsetMissingPaint(Paint missingPaint)Sets the missingPaint.voidsetPtSizePct(double ptSizePct)Sets the ptSizePct.voidsetRangeAxis(ValueAxis axis)Sets the range axis for the plot.voidsetRangeCrosshairLockedOnData(boolean flag)Sets the flag indicating whether or not the range crosshair should "lock-on" to actual data values.voidsetRangeCrosshairPaint(Paint paint)Sets the Paint used to color the crosshairs (if visible) and notifies registered listeners that the axis has been modified.voidsetRangeCrosshairStroke(Stroke stroke)Sets the Stroke used to draw the crosshairs (if visible) and notifies registered listeners that the axis has been modified.voidsetRangeCrosshairValue(double value)Sets the domain crosshair value.voidsetRangeCrosshairValue(double value, boolean notify)Sets the range crosshair value.voidsetRangeCrosshairVisible(boolean flag)Sets the flag indicating whether or not the range crosshair is visible.voidsetRenderAsPoints(boolean renderAsPoints)Sets the renderAsPoints.voidsetToolTipGenerator(ContourToolTipGenerator generator)Sets the tool tip generator.voidsetURLGenerator(XYURLGenerator urlGenerator)Sets the URL generator for HTML image maps.RangevisibleRange(ContourDataset data, Range x, Range y)Returns the visible z-range.voidzoom(double percent)Zooms the axis ranges by the specified percentage about the anchor point.voidzoomHorizontalAxes(double factor)Multiplies the range on the horizontal axis/axes by the specified factor.voidzoomHorizontalAxes(double lowerPercent, double upperPercent)Zooms the horizontal axes (not yet implemented).voidzoomVerticalAxes(double factor)Multiplies the range on the vertical axis/axes by the specified factor.voidzoomVerticalAxes(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 aPlotChangeEventto 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 (nullpermitted).
-
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:
trueif 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
infoargument collects information about the rendering of the plot (dimensions, tooltip information etc). Just pass innullif 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
infoandcrosshairStatearguments 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:
handleClickin 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:
getPlotTypein classPlot- Returns:
- A short string describing the type of plot.
-
getDataRange
Returns the range for an axis.- Specified by:
getDataRangein interfaceValueAxisPlot- Parameters:
axis- the axis.- Returns:
- The range for an axis.
-
getContourDataRange
Returns the range for the Contours.- Specified by:
getContourDataRangein 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:
propertyChangein 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:
datasetChangedin interfaceDatasetChangeListener- Overrides:
datasetChangedin 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:
axisChangedin interfaceAxisChangeListener- Overrides:
axisChangedin 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:
zoomHorizontalAxesin interfaceValueAxisPlot- Parameters:
factor- the zoom factor.
-
zoomHorizontalAxes
public void zoomHorizontalAxes(double lowerPercent, double upperPercent)Zooms the horizontal axes (not yet implemented).- Specified by:
zoomHorizontalAxesin 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:
zoomVerticalAxesin interfaceValueAxisPlot- Parameters:
factor- the zoom factor.
-
zoomVerticalAxes
public void zoomVerticalAxes(double lowerPercent, double upperPercent)Zooms the vertical axes (not yet implemented).- Specified by:
zoomVerticalAxesin interfaceValueAxisPlot- Parameters:
lowerPercent- the new lower bound.upperPercent- the new upper bound.
-
clone
Extends plot cloning to this plot type- Overrides:
clonein classPlot- Returns:
- A clone.
- Throws:
CloneNotSupportedException- if some component of the plot does not support cloning.- See Also:
Plot.clone()
-