NCL Home> Application examples> Plot techniques || Data files for some examples

Example pages containing: tips | resources | functions/procedures

Color Maps

This suite of examples shows how to change, create, draw, reverse, and otherwise manipulate color maps (also known as "color tables").

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.

NCL has a built-in list of available color tables and a suite of 650 named colors you can use.

If you need to use CMYK color, then this is only supported with the old style color model, and hence you must use "oldps" or "oldpdf" as the output format. You can set this via a workstation resource, before you call gsn_open_wks:

 type = "oldps"     ; cannot use "ps" or "pdf"
 type@wkColorModel = "cmyk"
 wks = gsn_open_wks(type,"example")
colormap_1.ncl: Demonstrates drawing the current color map using gsn_draw_colormap.

Note: if you are setting a color map in your .hluresfile, then your output from this script may be different.

colormap_2.ncl: Demonstrates changing the workstation color map using: 1) one of the built-in color tables, 2) an array of named colors, or 3) RGB values.

The gsn_define_colormap function is used to set all three color maps.

If you like a particular color map you've created, you can put it in a file, and put it in a directory where you can then load it as if it were an NCL built-in color table. See creating your own color table file for more information.

colormap_3.ncl: Demonstrates how to reverse the workstation color map using gsn_reverse_colormap.
colormap_4.ncl: Demonstrates merging two colormaps on the workstation using gsn_merge_colormaps. 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 model. See example newcolor_13.ncl on the RGBA examples page for a way to use multiple color maps on a single page.

colormap_5.ncl: Demonstrates adding colors to an existing colormap, using NhlNewColor. 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.

colormap_6.ncl: Uses hsvrgb to draw some illustrative HSV color wheels. See the next example for how to create a colormap using this function.
colormap_7.ncl: 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.

colormap_8.ncl: Uses span_named_colors to generate a color table that spans between given named colors.

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.

colormap_9.ncl: Uses the span_named_colors function to create a color map that reverses itself at the midpoint.

The colors passed to the function are (/"red","green","blue","purple","blue","green","red"/), with 20 colors between each range.