Google


yorick banner

Home

Manual

Packages

Global Index

Keywords

Quick Reference

Back: gridxy Forward: Color model   FastBack: Plotting primitives Up: Plot limits FastForward: Display list         Top: Yorick Contents: Table of Contents Index: Concept Index About: About this document

3.2.4 palette

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 would type:

 
palette, "gray.gp"

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 white mountains.

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);
palette, scale,scale,scale;

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:

 
local r,g,b;
palette,query=1, r,g,b;

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.


Back: gridxy Forward: Color model   FastBack: Plotting primitives Up: Plot limits FastForward: Display list         Top: Yorick Contents: Table of Contents Index: Concept Index About: About this document