The plf, pli, and plfp commands require a color scale or palette,
which is a continuum of colors to represent the continuous values of a
variable. Actually, a palette consists of a finite number of (red,
green, blue) triples, which represent a color for each of a finite
list of values. A Yorick palette can never have more than 256 colors,
so that a type char variable (one byte per item) can hold any index
into a palette. Because many screens can display only 256 colors
simultaneously, however, you shouldn't have more than about 200 colors
in a palette; that is the size of all of Yorick's predefined palettes.
The palette command allows you to change palettes. The Yorick
distribution comes with predefined palettes called `earth.gp' (the
default palette), `gray.gp', `yarg.gp', `heat.gp',
`stern.gp', and `rainbow.gp'. To load the gray palette, you
These palettes tend to start with dark colors and progress toward
lighter colors. The exceptions are `yarg.gp', which is a reversed
version of `gray.gp' (your picture looks like the photographic
negative of the way it looks with the `gray.gp' palette), and
`rainbow.gp', which runs through the colors in spectral order at
nearly constant intensity. Besides `gray.gp' (or `yarg.gp')
and `rainbow.gp', it's tough to find color sequences that people
have been trained to think have an order. The `heat.gp' palette is
a red-orange scale resembling the colors of an iron bar as it grows
hotter. The default `earth.gp' is loosely based on mapmaker's
colors from dark blue deep ocean to green lowlands to brown highlands to
Instead of a file name, you may pass palette three arrays of numbers
ranging from 0 to 255, which are relative intensities of red, green,
and blue. For example,
scale = bytscl(indgen(200),top=255);
produces the same palette as `gray.gp', but by direct specification
of RGB values, rather than by reading a palette file.
Yorick internally uses the bytscl function to map the z values in a
plf, pli, or plfp command into a (0-origin) index into the palette.
Occasionally, as here, you will also want to call bytscl explicitly.
The predefined palette files are in the directory Y_SITE+"gist";
you should be able to figure out their format easily if you want to
produce your own. If you create a directory `~/Gist' and put your
custom palette files there, Yorick will find them no matter what its
current working directory. The library include file `color.i'
includes functions to help you construct palettes, and a dump_palette
function which writes a palette in Yorick's standard format.
You can use the query= keyword to retrieve the RGB values for the
currently installed palette:
There is also a private= keyword to palette, which you should
investigate if you are interested in color table animation, or if
other programs steal all your colors.