JMSLTM Numerical Library 4.0

com.imsl.chart
Class Heatmap

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

public class Heatmap
extends Data

Heatmap creates a chart from a two-dimensional array of double precision values or Color values. Optionally, each cell in the heatmap can be labeled.

If the input is a two-dimensional array of double values then a Colormap object is used to map the real values to colors.

See Also:
Colormap, Example 1, Example 2, Example 3, Serialized Form

Nested Class Summary
 class Heatmap.Legend
          A legend for use with a heatmap.
 
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
Heatmap(AxisXY axis, double xmin, double xmax, double ymin, double ymax, Color[][] color)
          Creates a Heatmap from an array of Color values.
Heatmap(AxisXY axis, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, double[][] data, Colormap colormap)
          Creates a Heatmap from an array of double values and a Colormap.
 
Method Summary
 void dataRange(double[] range)
          Update the data range.
 Colormap getColormap()
          Returns the value of the "Colormap" attribute.
 Text[][] getHeatmapLabels()
          Returns the value of the "HeatmapLabels" attribute.
 Heatmap.Legend getHeatmapLegend()
          Returns the heatmap legend.
 void paint(Draw draw)
          Paints this node and all of its children.
 void setColormap(Colormap colorMap)
          Sets the value of the "Colormap" attribute.
 void setHeatmapLabels(String[][] labels)
          Sets the value of the "HeatmapLabels" attribute.
 void setHeatmapLabels(Text[][] labels)
          Sets the value of the "HeatmapLabels" attribute.
 
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

Heatmap

public Heatmap(AxisXY axis,
               double xmin,
               double xmax,
               double ymin,
               double ymax,
               Color[][] color)
Creates a Heatmap from an array of Color values.

Parameters:
axis - An AxisXY object, the parent of this node.
xmin - The minimum x-value of the color data.
xmax - The maximum x-value of the color data.
ymin - The minimum y-value of the color data.
ymax - The maximum y-value of the color data.
color - A two-dimensional Color array of the color values. The value of color[0][0] is the color of the cell whose lower left corner is (xmin, ymin).

Heatmap

public Heatmap(AxisXY axis,
               double xmin,
               double xmax,
               double ymin,
               double ymax,
               double zmin,
               double zmax,
               double[][] data,
               Colormap colormap)
Creates a Heatmap from an array of double values and a Colormap.

Parameters:
axis - An AxisXY object, the parent of this node.
xmin - The minimum x-value of the color data.
xmax - The maximum x-value of the color data.
ymin - The minimum y-value of the color data.
ymax - The maximum y-value of the color data.
zmin - The data value that corresponds to the initial (t=0) value in the Colormap.
zmax - The data value that corresponds to the final (t=1) value in the Colormap.
data - A two-dimensional double array containing the data values. The x-interval (xmin , xmax) is uniformly divided and mapped into the first index of data. The y-interval (ymin, ymax) is uniformly divided and mapped into the second index of data. So, the value of data[0][0] is used to determine the color of the cell whose lower left corner is (xmin,ymin ).
colormap - Maps the values in data to colors. If a cell has a data value equal to t then its color is the value of the colormap at s, where

s=frac{t-mbox{zmin}}{mbox{zmax}-mbox{zmin}}

.
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 array containing the updated range = {xmin,xmax,ymin,ymax}.

getColormap

public Colormap getColormap()
Returns the value of the "Colormap" attribute. This is the Colormap associated with this Heatmap.

Returns:
The Colormap value of the "Colormap" attribute, if defined. Otherwise, null is returned.

getHeatmapLabels

public Text[][] getHeatmapLabels()
Returns the value of the "HeatmapLabels" attribute.

Returns:
A two-dimensional array of Text objects that are the value of the "HeatmapLabels" attribute, if defined. Otherwise, null is returned.

getHeatmapLegend

public Heatmap.Legend getHeatmapLegend()
Returns the heatmap 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 object associated with the Heatmap.

paint

public void paint(Draw draw)
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.

setColormap

public void setColormap(Colormap colorMap)
Sets the value of the "Colormap" attribute. This is the Colormap associated with this Heatmap.

Parameters:
colorMap - The Colormap object's "ColorMap" value.

setHeatmapLabels

public void setHeatmapLabels(String[][] labels)
Sets the value of the "HeatmapLabels" attribute. The value of the "HeatmapLabels" attribute is a two dimensional array of Text objects. Each Text object is created from the corresponding label value with TEXT_X_CENTER|TEXT_Y_CENTER alignment.

Parameters:
labels - A two-dimensional array of String objects used to create the two dimensional array of Text objects that is the value of the attribute. The array of labels and the array of Text objects have the same shape.
See Also:
Text

setHeatmapLabels

public void setHeatmapLabels(Text[][] labels)
Sets the value of the "HeatmapLabels" attribute.

Parameters:
labels - A two-dimensional array of Text objects that are used to set the "HeatmapLabels" attribute.

JMSLTM Numerical Library 4.0

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