Which of Ferret's color palettes best convey information to color-impaired viewers?
What palettes will show up well if I photocopy the output, or display it using LCD projectors, Laptop and CRT screens, and color printers?
The article "The End of the Rainbow? Color Schemes for Improved Data Graphics", by A. Light and P. J. Bartlein, (2004) EOS 85(40), p. 385, 391 discusses shortcomings of some of the common color schemes used in scientific publication. It explores types of color palettes which better distinguish the desired features of the data. This article is available on-line at http://geography.uoregon.edu/datagraphics/EOS/index.htm
Articles and notes on this topic from EOS are available at http://geography.uoregon.edu/datagraphics/EOS/Light&Bartlein.pdf Look at the last few pages for a response to the original article "Forum: Comment on Color Schemes for Improved Data Graphics" and the reply to this comment. These make a helpful discussionof the issues involved and useful color palettes for different sorts of data.
The article references two web sites where one can view these palettes and access their definitions. The sites are the ColorBrewer tool at http://www.personal.psu.edu/faculty/c/a/cab38/ColorBrewerBeta.html and from the University of Oregon Data Graphics Research group, Department of Geography, http://geography.uoregon.edu/datagraphics/color_scales.htm.We have implemented as Ferret palette files some of the color schemes discussed in the EOS article and the two web sites it references. Their palette names, some of their properties, and a simple example of each are in the tables below.
Recall that in Ferret you can change to a new palette using the /PALETTE= qualifier on a SHADE or FILL command:
yes? SHADE/I=1:10/J=1:10/PAL=green_magenta i-j yes? FILL/I=1:100/J=1:100/PAL=blue_darkred cos(i/8) + sin(j/6)or, you can change to a particular palette for all subsequent plots with the PALETTE command:
yes? PALETTE blue_green_yellow yes? USE etopo20 yes? SHADE rose yes? FILL/x=12w:35e/y=25:60 rose ! this plot also done with blue_green_yellow yes? USE levitus_climatology yes? PALETTE red_purple ! change to red_purple palette for next plots... yes? FILL/K=1 salt
Most of the palettes here are listed in pairs, e.g. blue_green_yellow and yellow_green_blue. These pairs contain the same colors, in reverse order. The purple_red and red_purple palettes contain different sets of colors; purple_red having dark red to light purple and red_purple having dark purple to light red.
Name | Type | Color- blind |
Photo- copy |
Example |
blue_green_yellow yellow_green_blue |
sequential | Y | Y | ![]() example script |
green_brown green_brown | diverging | Y | N | ![]() example script |
purple_orange orange_purple | diverging | Y | N | ![]() example script |
yellow_orange_brown yellow_orange_brown | sequential | Y | ? | ![]() example script |
orange_red red_orange | sequential | Y | Y | ![]() example script |
purple_red | sequential | Y | ? | ![]() example script |
red_purple | sequential | Y | ? | ![]() example script |
At the University of Oregon site, a number of palettes are defined and discussed. Here is a list of several that we have implemented for Ferret, with comments from the University of Oregon Data Graphics Research group. For all of these palettes except the last, categorical_12_step, there are pairs of palettes which contain the same colors in reverse order.
blue_darkred darkred_blue |
Useful for temperature-like data, with a subjective interpretation (blue=cold, red=hot) | ![]() example script |
blue_brown brown_blue |
Useful for data with a dry (brown) vs. wet (blue) association | ![]() example script |
blue_darkorange darkorange_blue |
Useful for data without a specific subjective color association | ![]() example script |
blue_green green_blue |
Useful for data with a winter (blue) vs. summer (green) association | ![]() example script |
blue_orange orange_blue |
Bright blue to Bright orange colors. Useful for data like sea-level pressure, with a subjective association (blue=low, wet, orange=high, dry) | ![]() example script |
green_magenta magenta_green |
Useful for generic diverging data. Colors can be differentiated by color-deficient viewers | ![]() example script |
categorical_12_step | Attempt at a categorical color scale with colors that may be distinguishable to all viewers | ![]() example script |