National Oceanic and
Atmospheric Administration
United States Department of Commerce

Ferret Color Palettes

Ferret Color Palettes

 

Question:

How can I find a good color palette for my plot?

Example:


The above illustrates several palettes used to plot SST and topography. Here is the Ferret script:

! Plot sst
 USE coads_climatology
 SET REGION/L=1
 SET VIEW ul
 FILL/NOLABELS/PALETTE=ocean_temp sst; GO land

! plot temperature minus mean with a centered palette
 SET VIEW UR
 FILL/NOLABELS/PALETTE=white_centered sst - sst[x=@ave,y=@ave]; GO fland

! use a greyscale paletete
 SET VIEW LL
 FILL/NOLABELS/PALETTE=greyscale sst; GO land

! plot a relief map using the land_sea palette
 USE etopo120
 SET VIEW lr 
 FILL/NOLABELS/PALETTE=land_sea rose

Explanation:

A number of palette files are available with Ferret. They are designed to highlight different kinds of data fields and to allow sets of plots to have a standard appearance. Some trial and error may be necessary to choose the palette that looks best on a given printer or other output device. A variety of palette files are illustrated below.

See the Ferret Users Guide, the Section on the PALETTE command, and in the section about customizing plots and palette creation, for more on specifying a palette with the plot commands, and about the different kinds of palettes. There is also a palette_demo.jnl script about the different kinds of palettes.
 

In the scientific graphics community, there is much discussion of best practices with color palettes. Here are some references which discuss the shortcomings of rainbow palettes, and good alternatives. Some of these alternatives are included in the Ferret distribution and are discussed in the FAQ's listed below
http://www.climate-lab-book.ac.uk/2014/end-of-the-rainbow/
A Better Default Colormap for Matplotlib, https://youtu.be/xAoljeRJ3lU

 

Also see these related FAQ's,

Here is a table showing a range of available palettes. For the Percent palettes, the script "go try_palette palette_name" has been used to make the examples. This shows the palette at several different resolutions.The Levels and Values palettes are shown with examples from datasets to point out their advantages.

Palette name Description Type of Palette Example Plot
default The default palette; range through a rainbow of colors percent
ocean_temp Shows range of ocean temperature by value, so plots with differentranges of values will have the same colors for given temperatures. Thesetwo plots are the same except for the region. The same color represents the same temperature in both. value palette_ocean_temp
rainbow_by_levels A variety of colors assigned by level: each level gets one color. TheLEVELS qualifier is used to specify six levels for the first plot and eighteen for the second. level
rainbow The same as "default" percent
rnb The same as "default" percent
rnb2 Another rainbow of colors percent
saz2 Yet another rainbow of colors percent
light_rainbow Similar to rainbow, but with washed-out lighter colors percent
broad Designed to distinguish levels over a broad range percent
dark_land_sea For topography/ bathymetry plots. Brown and green on land, blue for sea percent
land_sea A lighter palette for topography/ bathymetry plots percent
ocean_blue A range of blues for bathymetry plots percent
dark_terrestrial A range of green and brown for topography plots percent
terrestrial A lighter palette for topography plots. percent
modulo A palette whose colors on either end match percent
no_blue Palette with no blue tones percent
no_green Palette with no green tones percent
no_red Palette with no red tones percent
low_blue Palette with low ammount of blue percent
low_green Palette with low ammount of green percent
low_red Palette with low ammount of red percent
centered Distinguishes values above and below the middle level; warm colorsabove and cool colors below. percent
white_centered Another centered palette with white as the central color.

A variation on this is to make a copy of the palette file and create a similar one where white is replaced by very light gray, to distinguish it from the white of missing-data.

percent
no_blue_centered Another centered palette with no blue tones percent
no_green_centered Another centered palette with no green tones percent
no_red_centered Another centered palette with no red tones percent
grayscale (also greyscale) Series of grays percent
inverse_grayscale
(and inverse greyscale)
With high and low reversed percent
bluescale Series of blues percent
inverse bluescale With high and low reversed percent
greenscale Series of greens percent
inverse_greenscale With high and low reversed percent
redscale Series of reds percent
inverse_redscale With high and low reversed percent

Single colors

black
blue
blue_light
blue_dark
brown
brown_light
brown_dark
cyan
cyan_light
cyan_dark
gray
gray_light
gray_dark
grey
grey_light
grey_dark
green
green_light
green_dark
magenta
magenta_light
magenta_dark
orange
orange_light
orange_dark
pink
pink_light
pink_dark
purple
purple_light
purple_dark
red
red_light
red_dark
tan
tan_light
tan_dark
violet
violet_light
violet_dark
white
yellow
yellow_light
yellow_dark

One color in the palette. These are useful for colorbars, fillingbetween curves, making backgrounds, and filling polygons to make different colored dots on a plot, as in marking station locations. For examples see the FAQ:Howcan I fill between two curves? and the Ferret v5.6 release notes  
for instance, violet

go polymark poly/over/line/pal=pink xpts,ypts,,square
go polymark poly/over/line/pal=orange_dark xp,yp,,circle