|void patchmat (zmat, x, nx, y, ny, minv, maxv, type, intensity, nintensity, border, legllx, leglly, legurx, legury, labint, format, font, height, nsmear)||PATCHPLT.C||Level 3|
|float *zmat||zmat[y][x] is the array of values
to be plotted in the x-y plane. If smearing is used (see
nsmear below), zmat will be changed to reflect the smearing. zmat must be allocated as a single piece of memory.
|float *x||The x input vector.|
|int nx||Dimension of the x input vector.|
|float *y||The y input vector.|
|int ny||Dimension of the y input vector.|
|float minv, maxv||minv and maxv are the minimum and maximum values used in the level intensity array. If minv = maxv, the routine is self-scaling.|
|int type||There are four type options;
= c fills a cell with the average of the four corners.
= g centers a panel on each grid point and uses the value on the grid point.
= l fills a cell with the value at the lower-left corner. In this case, the x and y vectors must be of dimension nx+1 and ny+1, one larger than the matrix of values in order to define the last cell.
= a generates a smeared filled contour plot.
|int *intensity||An array of GraphiC colors (-150, 50–174, 200–447) or filling patterns (1–15) to be used to display the different function levels. The first element corresponds to the smallest value of the function represented by zmat.|
|int nintensity||The dimension of the intensity array.|
|int border||= 0 no border will be drawn around each cell or contour.
= 1 a border will be drawn in the current active color.
float legurx, legury
|The x,y values for the lower-left and upper-right corners of
the legend in inches (cm).
The legend will be placed in the region defined by the lower-left (legllx, leglly) and upper-right (legurx, legury) corners. The patterns will progress along the LONGEST
dimension of this rectangle. If the two corners are equal, no legend will be drawn. Be sure to allow at least 1" width if labels are desired, and 1/2" if no labels are desired.
|int labint||The legend will be labeled with the cell value every labint cells. If labint = 0, no labels will be used. If labint < 0, the maximum value of the label will not be plotted. (It may interfere with the next-to-last label.)|
|char *format||The format string to be used to write the labels. e.g., "%-3.2f.".|
|char font||The font-selection character for the legend labels.|
|float height||The height of the label strings in inches (cm).|
|int nsmear||Optionally, the input data may be smeared to adjacent grid points to
prevent large jumps. nsmear is the number of times that process is carried
out. The algorithm used is as follows:
= 1/2 of the value of each grid point remains at the point.
= 1/12 of the value of each grid point is placed on the nearest 4 grid points.
= 1/24 of the value of each grid point is placed on the next nearest 4 grid points.
At the borders, ghost points are used.
Note that the maximum and minimum values will be changed by the smearing process (less dynamic range), but the integrated density of the plotted quantity will be preserved.
|patchmat() makes a patch plot. Each cell in the grid is filled
with a panel whose color is related to the values on the grid. The a
option allows the user easily to make a smeared contour plot as well. Patch
plots should be used when the function to be plotted is not a representation
of a smooth function. These issues are discussed in the example TZTEST.C.
patchmat() is obsolete and should be replaced by a pair of calls to either PatchMatL() and ColorKeyL()
or PatchMatN() and ColorKeyN().