JMSLTM Numerical Library 4.0

com.imsl.chart
Class Contour

java.lang.Object
  extended bycom.imsl.chart.AbstractChartNode
      extended bycom.imsl.chart.ChartNode
          extended bycom.imsl.chart.Data
              extended bycom.imsl.chart.Contour
All Implemented Interfaces:
Cloneable, Serializable

public class Contour
extends Data

A Contour chart shows level curves of a two-dimensional function.

The function can be defined either as values on a rectangular grid or by scattered data points.

A set of ContourLevel objects are created as children of this node. The number of ContourLevels is one more than the number of level curves. If the level curve values are c_0,ldots,c_{n-1} then the k-th ContourLevel child corresponds to c_{k-1} lt z le c_k.

To change the look of the contour chart, change the line attributes and fill attributes in the ContourLevel nodes.

A Legend object is also created as a child of this node. It should be used instead of the usual chart legend. By default, this legend is not shown. To show it, set its paint method to true.

See Also:
ContourLevel, Gridded data example, Scattered data example, Chart Programmer's Guide: Contour Chart, Serialized Form

Nested Class Summary
 class Contour.Legend
          A legend for a contour chart.
 
Field Summary
static long serialVersionUID
           
 
Fields inherited from class com.imsl.chart.ChartNode
AXIS_X_TOP, AXIS_Y_RIGHT, BAR_TYPE_HORIZONTAL, BAR_TYPE_VERTICAL, DASH_PATTERN_DASH, DASH_PATTERN_DASH_DOT, DASH_PATTERN_DOT, DASH_PATTERN_SOLID, DATA_TYPE_FILL, DATA_TYPE_LINE, DATA_TYPE_MARKER, DATA_TYPE_PICTURE, DATA_TYPE_TUBE, DENDROGRAM_TYPE_HORIZONTAL, DENDROGRAM_TYPE_VERTICAL, FILL_TYPE_GRADIENT, FILL_TYPE_NONE, FILL_TYPE_PAINT, FILL_TYPE_SOLID, LABEL_TYPE_PERCENT, MARKER_TYPE_ASTERISK, MARKER_TYPE_CIRCLE_CIRCLE, MARKER_TYPE_CIRCLE_PLUS, MARKER_TYPE_CIRCLE_X, MARKER_TYPE_DIAMOND_PLUS, MARKER_TYPE_FILLED_CIRCLE, MARKER_TYPE_FILLED_DIAMOND, MARKER_TYPE_FILLED_SQUARE, MARKER_TYPE_FILLED_TRIANGLE, MARKER_TYPE_HOLLOW_CIRCLE, MARKER_TYPE_HOLLOW_DIAMOND, MARKER_TYPE_HOLLOW_SQUARE, MARKER_TYPE_HOLLOW_TRIANGLE, MARKER_TYPE_OCTAGON_PLUS, MARKER_TYPE_OCTAGON_X, MARKER_TYPE_PLUS, MARKER_TYPE_SQUARE_PLUS, MARKER_TYPE_SQUARE_X, MARKER_TYPE_X, TEXT_X_CENTER, TEXT_X_LEFT, TEXT_X_RIGHT, TEXT_Y_BOTTOM, TEXT_Y_CENTER, TEXT_Y_TOP
 
Fields inherited from class com.imsl.chart.AbstractChartNode
AUTOSCALE_DATA, AUTOSCALE_DENSITY, AUTOSCALE_NUMBER, AUTOSCALE_OFF, AUTOSCALE_WINDOW, AXIS_X, AXIS_Y, AXIS_Z, LABEL_TYPE_NONE, LABEL_TYPE_TITLE, LABEL_TYPE_X, LABEL_TYPE_Y, LABEL_TYPE_Z, TRANSFORM_CUSTOM, TRANSFORM_LINEAR, TRANSFORM_LOG
 
Constructor Summary
Contour(AxisXY axis, double[] x, double[] y, double[] z)
          Create a Contour chart from scattered data with computed contour levels.
Contour(AxisXY axis, double[] xGrid, double[] yGrid, double[][] zData)
          Create a Contour chart from rectangularly gridded data with computed contour levels.
Contour(AxisXY axis, double[] xGrid, double[] yGrid, double[][] zData, double[] cLevel)
          Create a Contour chart from rectangularly gridded data.
Contour(AxisXY axis, double[] x, double[] y, double[] z, double[] cLevel, int nCenters)
          Create a Contour chart from scattered data.
 
Method Summary
 void dataRange(double[] range)
          Update the data range.
 Contour.Legend getContourLegend()
          Returns the contour chart legend.
 ContourLevel[] getContourLevel()
          Returns all of the contour levels.
 ContourLevel getContourLevel(int k)
          Returns a ContourLevel.
 void paint(Draw draw)
          Paints this node and all of its children.
 
Methods inherited from class com.imsl.chart.Data
formatLabel
 
Methods inherited from class com.imsl.chart.ChartNode
addPickListener, firePickListeners, getALT, getAxis, getBackground, getBarGap, getBarType, getBarWidth, getChart, getChartTitle, getChildren, getClipData, getComponent, getConcatenatedViewport, getDataType, getDoubleBuffering, getExplode, getFillOutlineColor, getFillOutlineType, getFillPaint, getFillType, getGradient, getHREF, getLegend, getLineDashPattern, getMarkerDashPattern, getMarkerThickness, getMarkerType, getParent, getReference, getScreenAxis, getScreenSize, getScreenViewport, getSize, getSkipWeekends, getTextAngle, getTextColor, getTitle, getToolTip, getViewport, isBitSet, removePickListener, setALT, setBarGap, setBarType, setBarWidth, setChartTitle, setClipData, setCustomTransform, setDataType, setDoubleBuffering, setExplode, setFillOutlineColor, setFillOutlineColor, setFillOutlineType, setFillPaint, setFillPaint, setFillPaint, setFillType, setGradient, setGradient, setGradient, setHREF, setImage, setLineDashPattern, setMarkerDashPattern, setMarkerThickness, setMarkerType, setReference, setScreenSize, setSize, setSkipWeekends, setTextAngle, setTextColor, setTextColor, setTitle, setTitle, setToolTip, setViewport, setViewport
 
Methods inherited from class com.imsl.chart.AbstractChartNode
clone, clone, clone, clone, getAbstractParent, getAttribute, getAutoscaleInput, getAutoscaleMinimumTimeInterval, getAutoscaleOutput, getBooleanAttribute, getChildList, getColorAttribute, getCustomTransform, getDensity, getDoubleAttribute, getFillColor, getFont, getFontName, getFontSize, getFontStyle, getImage, getIntegerAttribute, getLabelType, getLightColor, getLineColor, getLineWidth, getLocale, getMarkerColor, getMarkerSize, getName, getNumber, getPaint, getStringAttribute, getTextFormat, getTickLength, getTransform, getX, getY, isAncestorOf, isAttributeSet, isAttributeSetAtThisNode, parseColor, remove, setAttribute, setAutoscaleInput, setAutoscaleMinimumTimeInterval, setAutoscaleOutput, setDensity, setFillColor, setFillColor, setFont, setFontName, setFontSize, setFontStyle, setImage, setLabelType, setLightColor, setLightColor, setLineColor, setLineColor, setLineWidth, setLocale, setMarkerColor, setMarkerColor, setMarkerSize, setName, setNumber, setPaint, setTextFormat, setTextFormat, setTickLength, setTransform, setX, setY, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

public static final long serialVersionUID
See Also:
Constant Field Values
Constructor Detail

Contour

public Contour(AxisXY axis,
               double[] x,
               double[] y,
               double[] z)
Create a Contour chart from scattered data with computed contour levels. The contour chart is created by using a RadialBasis approximation to estimate the functions value on a rectangular grid. The contour chart is then computed as for gridded data.

Parameters:
axis - an AxisXY object, the parent of this node.
x - a double array which contains the x-values of the data points.
y - a double array which contains the y-values of the data points.
z - a double array which contains the z-values of the data points.
See Also:
RadialBasis

Contour

public Contour(AxisXY axis,
               double[] xGrid,
               double[] yGrid,
               double[][] zData)
Create a Contour chart from rectangularly gridded data with computed contour levels. The contour levels are chosen to span the data and to be "nice" values.

Parameters:
axis - an AxisXY object, the parent of this node.
xGrid - a double array which contains the x-coordinate values of the grid.
yGrid - a double array which contains the y-coordinate values of the grid.
zData - a double rectangular matrix which contains the function values to be contoured. The value of the function at (xGrid[i],yGrid[j]) is given by zData[i][j]. The size of this matrix must be xGrid.length by yGrid.length.

Contour

public Contour(AxisXY axis,
               double[] xGrid,
               double[] yGrid,
               double[][] zData,
               double[] cLevel)
Create a Contour chart from rectangularly gridded data.

Parameters:
axis - an AxisXY object, the parent of this node.
xGrid - a double array which contains the x-coordinate values of the grid.
yGrid - a double array which contains the y-coordinate values of the grid.
zData - a double rectangular matrix which contains the function values to be contoured. The value of the function at (xGrid[i],yGrid[j]) is given by zData[i][j]. The size of this matrix must be xGrid.length by yGrid.length.
cLevel - a double array which contains the values of the contour levels.

Contour

public Contour(AxisXY axis,
               double[] x,
               double[] y,
               double[] z,
               double[] cLevel,
               int nCenters)
Create a Contour chart from scattered data. The contour chart is created by using a RadialBasis appoximation to estimate the functions value on a rectangular grid. The contour chart is then computed as for gridded data.

Parameters:
axis - an AxisXY object, the parent of this node.
x - a double array which contains the x-values of the data points.
y - a double array which contains the y-values of the data points.
z - a double array which contains the z-values of the data points.
cLevel - a double array which contains the values of the contour levels.
nCenters - is the number of centers to use for the radial basis approximation. The larger the number the closer, but noiser, the approximation.
See Also:
RadialBasis
Method Detail

dataRange

public void dataRange(double[] range)
Update the data range. range = {xmin,xmax,ymin,ymax} The entries in range are updated to reflect the extent of the data in this node. Range is an input/output variable. Its value should be updated only if the data in this node is outside the range already in the array.

Overrides:
dataRange in class Data
Parameters:
range - a double array which contains the updated range, {xmin,xmax,ymin,ymax}

getContourLegend

public Contour.Legend getContourLegend()
Returns the contour chart legend.

By default, the legend is not drawn because its "Paint" attribute is set to false. To show the legend set "Paint" to true, .i.e., contour.getContourLegend().setPaint(true);

Returns:
the Legend associated with the contour chart.

getContourLevel

public ContourLevel[] getContourLevel()
Returns all of the contour levels.

Returns:
an array containing the contour levels.

getContourLevel

public ContourLevel getContourLevel(int k)
Returns a ContourLevel. The k-th contour level contains the level curve equal to cLevel[k] in the constructor. It also contains the fill areas for the values in the interval (cLevel[k-1], cLevel[k]). The first contour level (k=0) contains the fill area for values less than cLevel[0] and the level curves lines where the function value equals cLevel[0]. The last contour level (k=cLevel.length) contains the fill area for values greater than cLevel[cLevel.length-1], but no level curve lines.


paint

public void paint(Draw draw)
Description copied from class: Data
Paints this node and all of its children. This is normally called only by the paint method in this node's parent.

Overrides:
paint in class Data
Parameters:
draw - the Draw object to be painted

JMSLTM Numerical Library 4.0

Copyright 1970-2006 Visual Numerics, Inc.
Built June 1 2006.