ImageSC Plots in .NET (C# and Visual Basic)
ILImageSCPlot displays elements of a matrix as rectangular tiles. The plots are designed for 2D views and the tiles are oriented parallel to the XY plane. When watched from above ILImageSCPlot acts like an image viewer with pixel sizes of unit 1, centered at the position according to their indices in the matrix.
While being designed for 2D views, ILImageSCPlot are regular scene graph objects which can also always be used in a rotated scenario:
Note how the height (z coordinate) of the tiles for each element corresponds to the value of the element.
ImageSC plots are colored according to a colomap. The color for each tile is computed by mapping the value of the element to the corresponding color in a colormap. The minimum value within the data matrix given maps to the color at the lower limit of the colormap. The maximum value maps to the upper limit color.
The colormap is specified in the constructor or via the Colormap property of ILImageSCPlot:
By default, the full range of the colormap is mapped to the range of values in the matrix provided. Therefore, the full colormap is used for mapping the colors. The data range used for mapping the colormap colors can be adjusted by the ILImageSCPlot.MinMaxDataRange property.
Example: We want to use ILImageSCPlot for displaying the terrain data seen above. We know the limits of the data given. It ranges from 0 ... 6000. However, for us the values laying in the range 2000 ... 6000 is most interesting. We use the MinMaxDataRange in order to map the colormap color range to this area:
A Note on Performance
ImageSC plots are more efficient than surfaces which are described in the next section. For situations where the color of a value is sufficient and no interpolated values between neighboring points are needed ImageSC is a good alternative. The ILNumerics Array Visualizer does also provide ImageSC plots.
The next section deals with surface plots.
See also: the examples section contains runnable examples.