plshade1: Shade individual region on the basis of value

plshade1 ( a ,
  nx ,
  ny ,
  defined ,
  xmin ,
  xmax ,
  ymin ,
  ymax ,
  shade_min ,
  shade_max ,
  sh_cmap ,
  sh_color ,
  sh_width ,
  min_color ,
  min_width ,
  max_color ,
  max_width ,
  fill ,
  rectangular ,
  pltr ,
  pltr_data );
 

Shade individual region on the basis of value. Use plshades if you want to shade a number of contiguous regions using continuous colors. In particular the edge contours are treated properly in plshades. If you attempt to do contiguous regions with plshade1 (or plshade) the contours at the edge of the shade are partially obliterated by subsequent plots of contiguous shaded regions. plshade1 differs from plshade only by the type of the first argument. Look at the argument list below and plcont for more information about the transformation from matrix index to world coordinates. Shading NEEDS DOCUMENTATION, but as a stopgap look at how plshade1 (or plshade) are used in examples/c/x15c.c

a (PLFLT_FE_POINTER, input)

Contains pointer to first element of array to be plotted. The array must have been declared as PLFLT a[nx][ny].

nx (PLINT, input)

First dimension of array "a".

ny (PLINT, input)

Second dimension of array "a".

defined (PLDEFINED_callback, input)

Callback function specifying the region that should be plotted in the shade plot. This function accepts x and y coordinates as input arguments and must return 1 if the point is to be included in the shade plot and 0 otherwise. If you want to plot the entire shade plot (the usual case), this argument should be set to NULL.

xmin, xmax, ymin, ymax (PLFLT, input)

See the discussion of pltr below for how these arguments are used (only for the special case when the callback function pltr is not supplied).

shade_min (PLFLT, input)

Defines the lower end of the interval to be shaded. If shade_max ≤ shade_min, plshade1 does nothing.

shade_max (PLFLT, input)

Defines the upper end of the interval to be shaded. If shade_max ≤ shade_min, plshade1 does nothing.

sh_cmap (PLINT, input)

Defines color map. If sh_cmap=0, then sh_color is interpreted as a cmap0 (integer) index. If sh_cmap=1, then sh_color is interpreted as a cmap1 argument in range (0.0-1.0).

sh_color (PLFLT, input)

Defines color map index with integer value if cmap0 or value in range (0.0-1.0) if cmap1.

sh_width (PLFLT, input)

Defines width used by the fill pattern.

min_color (PLINT, input)

Defines pen color, width used by the boundary of shaded region. The min values are used for the shade_min boundary, and the max values are used on the shade_max boundary. Set color and width to zero for no plotted boundaries.

min_width (PLFLT, input)

Defines pen color, width used by the boundary of shaded region. The min values are used for the shade_min boundary, and the max values are used on the shade_max boundary. Set color and width to zero for no plotted boundaries.

max_color (PLINT, input)

Defines pen color, width used by the boundary of shaded region. The min values are used for the shade_min boundary, and the max values are used on the shade_max boundary. Set color and width to zero for no plotted boundaries.

max_width (PLFLT, input)

Defines pen color, width used by the boundary of shaded region. The min values are used for the shade_min boundary, and the max values are used on the shade_max boundary. Set color and width to zero for no plotted boundaries.

fill (PLFILL_callback, input)

Routine used to fill the region. Use plfill. Future version of PLplot may have other fill routines.

rectangular (PLBOOL, input)

Set rectangular to true if rectangles map to rectangles after coordinate transformation with pltrl. Otherwise, set rectangular to false. If rectangular is set to true, plshade1 tries to save time by filling large rectangles. This optimization fails if the coordinate transformation distorts the shape of rectangles. For example a plot in polar coordinates has to have rectangular set to false.

pltr (PLTRANSFORM_callback, input)

A callback function that defines the transformation between the zero-based indices of the matrix a and world coordinates. If pltr is not supplied (e.g., is set to NULL in the C case), then the x indices of a are mapped to the range xmin through xmax and the y indices of a are mapped to the range ymin through ymax.

For the C case, transformation functions are provided in the PLplot library: pltr0 for the identity mapping, and pltr1 and pltr2 for arbitrary mappings respectively defined by vectors and matrices. In addition, C callback routines for the transformation can be supplied by the user such as the mypltr function in examples/c/x09c.c which provides a general linear transformation between index coordinates and world coordinates.

For languages other than C you should consult Part III, “ Supported computer languages ” for the details concerning how PLTRANSFORM_callback arguments are interfaced. However, in general, a particular pattern of callback-associated arguments such as a tr vector with 6 elements; xg and yg vectors; or xg and yg matrices are respectively interfaced to a linear-transformation routine similar to the above mypltr function; pltr1; and pltr2. Furthermore, some of our more sophisticated bindings (see, e.g., Chapter 10, Fortran Language) support native language callbacks for handling index to world-coordinate transformations. Examples of these various approaches are given in examples/<language>x09*, examples/<language>x16*, examples/<language>x20*, examples/<language>x21*, and examples/<language>x22*, for all our supported languages.

pltr_data (PLPointer, input)

Extra parameter to help pass information to pltr0, pltr1, pltr2, or whatever routine that is externally supplied.

plshade1 is currently not used in any of our examples. Use plshade instead.