NAME¶
plscmap1l - Set cmap1 colors using a piece-wise linear relationship
SYNOPSIS¶
plscmap1l(
itype,
npts,
intensity,
coord1,
coord2,
coord3,
alt_hue_path)
DESCRIPTION¶
Set cmap1 colors using a piece-wise linear relationship between intensity index
(from 0. to 1.) of cmap1 and position in HLS or RGB color space (see the
PLplot documentation). May be called at any time.
The idea here is to specify a number of control points that define the mapping
between input cmap1 intensity indices and HLS (or RGB). Between these points,
linear interpolation is used which gives a smooth variation of color with
intensity index. Any number of control points may be specified, located at
arbitrary positions, although typically 2 - 4 are enough. Another way of
stating this is that we are traversing a given number of lines through HLS (or
RGB) space as we move through cmap1 intensity indices. The control points at
the minimum and maximum position (0 and 1) must always be specified. By adding
more control points you can get more variation. One good technique for
plotting functions that vary about some expected average is to use an
additional 2 control points in the center (position ~= 0.5) that are the same
lightness as the background (typically white for paper output, black for crt),
and same hue as the boundary control points. This allows the highs and lows to
be very easily distinguished.
Each control point must specify the cmap1 intensity index and the associated
three coordinates in HLS or RGB space. The first point must correspond to
position = 0, and the last to position = 1.
The default behaviour is for the hue to be linearly interpolated between the
control points. Since the hue lies in the range [0, 360] this corresponds to
interpolation around the "front" of the color wheel
(red<->green<->blue<->red). If alt_hue_path[i] is true, then
an alternative interpolation is used between control points i and i+1. If
hue[i+1]-hue[i] > 0 then interpolation is between hue[i] and hue[i+1] -
360, otherwise between hue[i] and hue[i+1] + 360. You can consider this as
interpolation around the "back" or "reverse" of the color
wheel. Specifying alt_hue_path=NULL is equivalent to setting alt_hue_path[] =
false for every control point.
Examples of interpolation Huealt_hue_pathcolor scheme[120
240]falsegreen-cyan-blue[240 120]falseblue-cyan-green[120
240]truegreen-yellow-red-magenta-blue[240
120]trueblue-magenta-red-yellow-green
Bounds on coordinatesRGBR[0, 1]magnitudeRGBG[0, 1]magnitudeRGBB[0,
1]magnitudeHLShue[0, 360]degreesHLSlightness[0, 1]magnitudeHLSsaturation[0,
1]magnitude
Redacted form:
plscmap1l(itype, intensity, coord1, coord2, coord3,
alt_hue_path)
This function is used in examples 8,11,12,15,20,21.
ARGUMENTS¶
- itype (PLBOOL, input)
- true: RGB, false: HLS.
- npts (PLINT, input)
- number of control points
- intensity (const PLFLT *, input)
- intensity index for each control point (between 0.0 and 1.0, in ascending
order)
- coord1 (const PLFLT *, input)
- first coordinate (H or R) for each control point
- coord2 (const PLFLT *, input)
- second coordinate (L or G) for each control point
- coord3 (const PLFLT *, input)
- third coordinate (S or B) for each control point
- alt_hue_path (const PLBOOL *, input)
- alternative interpolation method flag for each control point.
(alt_hue_path[i] refers to the interpolation interval between the i and i
+ 1 control points).
AUTHORS¶
Many developers (who are credited at
http://plplot.sourceforge.net/credits.php)
have contributed to PLplot over its long history.
SEE ALSO¶
PLplot documentation at
http://plplot.sourceforge.net/documentation.php.