Data files for some examples
Example pages containing:
This suite of examples shows how to change, create, draw, reverse, and
otherwise manipulate colors and color maps (also known as "color
NCL has a built-in list of
tables and a suite
of 650 named
colors you can use.
Note: in NCL V6.1.0, a new
color model was introduced, which replaces the concept of associating
color maps with a workstation. For backwards compatibility, the old
color model is still supported. Many of the examples here are
for the workstation color map, but can still be very useful for
both color models.
Here are some functions and procedures that are useful in
working with color maps and colors in general:
- draw_color_palette - draws the given colors or
color map as a series of filled boxes.
- get_color_rgba - chooses an RGB triplet or RGBA
quadruplet for a scalar value, given a color map and a range of
- namedcolor2rgb /
- returns the RGB triplets or RGBA quadruplets of the given list of
- read_colormap_file - reads an NCL system colormap
file or a user-defined colormap.
- span_color_rgba - given the
number of desired color values, return an array of RGB triplets or
RGBA quadruplets that nicely span the given color map.
- span_named_colors - returns an
RGB array that is a span between given list of named colors.
Here are some older functions that are useful when working
with the color map associated with the workstation:
If you need to use CMYK color, then this is only supported with the
old style color model (pre NCL V6.1.0), and hence you must use "oldps"
or "oldpdf" as the output format. You can set this via a workstation
resource, before you
type = "oldps" ; cannot use "ps" or "pdf"
type@wkColorModel = "cmyk"
wks = gsn_open_wks(type,"example")
Note: a user reported a noticeable degradation in the color quality
when using the old postscript and pdf drivers along with the CMYK
option. He said he's been able to submit RGB figures to various
journals for the last few years, and never had a problem. If you have
to send in CMYK graphics, then submit the figures as RGB (which is the
default in NCL), and then use an external package like Illustrator to
convert them to CMYK.
drawing the current color map associated with the workstation
Note: if you are setting a color map in your .hluresfile, then your
output from this script may be different.
: This example
draws the same color maps as the previous example, but it uses
procedure added in NCL
V6.3.0. This procedure doesn't require that you first
set the color map.
Note that the color tables are drawn slightly differently than they
are with gsn_define_colormap. For
one, they are drawn left-to-right, top-to-bottom, rather than
: This example is
similar to the previous example, except it shows how to reverse the
workstation color map using read_colormap_file
first read the color map, and then the array syntax "::-1" to reverse
it. It draws the color map using
procedure added in NCL
merging two colormaps on the workstation
. You can only do this
with two colormaps whose sum total is fewer than 256 colors.
The background/foreground colors are retained from the
first colormap only.
Note: merging color maps is not really necessary under the new color
on the RGBA examples page for a way to use multiple color maps on a
adding colors to an existing colormap, using
. This is only necessary for NCL
versions 6.0.0 or earlier, if you need to use one or
more named colors
and they are not in your current color map. In version 6.1.0
and later, named colors do not need to be added.
In order to add named colors to a colormap, you need to get their
corresponding RGB triplet from the $NCARG_ROOT/lib/ncarg/database/rgb.txt
file. This will be in values from 0 to 255, so you first need to
divide the values by 255 to get an RGB triplet.
to draw some illustrative
See the next example for how to create a colormap using this function.
: Uses values
from the above HSV color wheels to generate colormaps than span
from one color to another.
The colormap is drawn using gsn_labelbar_ndc.
to generate a color table that spans between given
You can optionally set the attributes "NumColorsInRange"
or "NumColorsInTable" to indicate the maximum number of
colors allowed in the table, or the number of colors in each
range between named colors.
: Uses the
to create a color map that reverses itself at the midpoint.
The colors passed to the function are
20 colors between each range.