The end of the rainbow

An open letter to the climate science community

Ed Hawkins, Doug McNeall, David Stephenson, Jonny Williams & Dave Carlson

Dear colleagues,

This is a heartfelt plea.

A plea to you all to help rid climate science of colour scales that can distort, mislead and confuse. Colour scales that are often illegible to those who are colour blind.

The main culprit is, of course, the ‘rainbow’:
rainbow
We have all likely used it, and we have all certainly seen it – presentations, posters, papers, blogs and news articles full of figures with similar colour scales.

However, the most commonly used rainbow colour scales can distort perceptions of data and alter meaning by creating false boundaries between values. There are numerous blogs and published papers from visualisation experts illustrating these issues. In one example, changing to a non-rainbow scale even improved accuracy of heart disease diagnoses.

And, if you use a rainbow colour scale, you will have a friend or colleague that is colour blind and may confuse the colours.

This is not the first such plea.

A decade ago an article appeared in EOS, demonstrating that contrasting red with green can render a figure illegible to the 8% of the male and 0.4% of the female population who are colour blind. The EOS article suggested that journals should do more to improve the colour accessibility of figures.

But, the problem is now worse than a decade ago. Most issues of every major climate journal have figures which are potentially misleading and colour inaccessible. Maps, line graphs and histograms can all have confusing colour combinations.

Journals, rightly, do not tolerate poor grammar, incorrect spelling, or muddy descriptions of scientific methods. It should be no different for visual communication. We should be equally intolerant to poor use of the grammar of graphics as we are to its written equivalent.

It is not just the journals who need to act. As scientists increase their efforts to make their work accessible to the public through the media, blogs and social media, there are more opportunities to show poor figures.

What are the possible solutions?

We need to be more willing to discuss and criticise the visualisation of the science as well as the science itself.

Authors should be responsible about the colour choices they make. Journals might add colour accessibility to their existing guidelines for acceptable figure types. Reviewers could recommend revision if such colour scales are used. Editors should not accept papers which use inaccessible and potentially misleading colour scales. And, the media might reconsider using such figures from published work.

We know ‘rainbow’ is the default colour scale in many commonly used programming languages, but that doesn’t make it the best. Resources are easily available to change colour scales for R, IDL (& here), MATLAB, Python (& here) & Ferret.

There are numerous websites and online tools giving advice and recommending safe and better colour scales (such as Color Brewer or HCL Wizard). You can even test online or use an app to see how your figures might appear to those who are colour blind.

Choosing a good colour scale is not difficult – it just takes awareness and a few moments of effort. The best choice will probably depend on the situation, so ask yourself why you have chosen that particular colour scale. Adding different shape markers in line graphs might also aid interpretation.

We take heart from some recent progress.

The journal BAMS recently took a step forward by publishing an article pointing out the flaws with rainbow colour scales. MATLAB have just announced that they are changing the default rainbow colour scale, giving a comprehensive explanation considering colour accessibility and perception issues.

All of us could do more in improving the clarity of our figures, the authors of this open letter included. More needs to be done. And, it needs all of us to do more.

So, we undertake this pledgeto never again be an author on a paper which uses a rainbow colour scale.

If you agree to also make this pledge (or disagree), please comment below this post. Or email us. And tell your colleagues.

We hope that you will join us.


We encourage the science community to communicate this letter widely. To spread the word on twitter, please use #endrainbow.


UPDATE: Nature have published a small version of this letter in their correspondence pages

Extra links have been added since the letter was originally published. The Climate Explorer has now updated its colour scales due to this campaign and several journals are discussing the issues raised.


Other climate-related case studies:

Example of simulating colour blindness with different colour scales & MATLAB software: Which colour scale is best for you?

Considering different colour scales for sea-level change maps: Better palettes

And, it is not just climate. One of the iconic images in astronomy – the Cosmic Microwave Background (CMB) – is normally in rainbow

Many thanks to all those who have patiently commented on these issues.

About Ed Hawkins

Climate scientist in the National Centre for Atmospheric Science (NCAS) at the University of Reading. IPCC AR5 Contributing Author. Can be found on twitter too: @ed_hawkins

49 thoughts on “The end of the rainbow

  1. Good post.

    I have tried to make conscious effort to do this for some time as I have been aware of this for quite some years – I know the guy behind the reference to the IDL color scale in your post.

    However, it sort of slipped over the years. So I’ll try again. And I will spread the word.

      1. Hi Ed, do you have a recommended colour scale to use in Python. I’d like to replot plot land-surface temperature from red to blue – red for warm, blue for cold.
        Like many people, I’ve no idea what this looks like to a colour blind person.
        You may remember previously that I commented on your alternative colour scale. I am not colour blind, but was confused and mixed ‘yellow’ and ‘brown’ that were found at quite different parts of the spectrum.
        thanks,
        Chris

  2. I pledge allegiance to this cause. Emailed to my students so they can see that I’m not the only one who goes on about this!

  3. I undertook this pledge when the Light & Bartlein article appeared in Eos back in 2004. I’m still shocked to see how many conference presentations and published papers use rainbow palettes today, though. MATLAB’s announcement about the introduction of a perceptual colormap in place of ‘jet’ as the default will make a difference, I’m sure. And nice mention about the “grammar of graphics”. I hardly use MATLAB anymore, having switched to R a few years ago, in large part due to their implementation of ColorBrewer and of the grammar of graphics in the ‘ggplot2’ library.

  4. Great initiative.

    The EOS article was an Eureka moment for me, and got me interested in this topic.

    Another interesting paper is Borland and Taylor (2007 – Rainbow color map (still) considered harmful: IEEE Computer Graphics and Applications, 27, no. 2, 14–17). One of the things that strikes me is their observation that more practitioners in the field of medical imaging and analysis reject the default rainbow (many use grayscale) compared to other disciplines: their statistics for the IEEE Visualization Conference proceedings from 2001 to 2005 show that over the five years, 51 percent of papers including medical images used rainbow, but the percentage increased to 61 percent without the papers including the medical images, with a peak difference in 2003 of 52 percent and 71 percent, respectively. I think these practitioners have more motivation to look beyond the rainbow default colormaps and make an extra effort, as shown for example by Borkin et al. (2011 – Evaluation of artery visualizations for heart disease diagnosis. IEEE Transactions on Visualization and Computer Graphics 17, no. 12, 2479–2488, http://dx.doi.org/10.1109/TVCG.2011.192), who argue that using rainbow in artery visualization has a negative impact on task performance, and may cause more heart disease misdiagnoses.

    I’ve written a post before where I show an attempt to fix the rainbow with a dynamically variable stretch function based on the human vision hue discrimination curve:
    http://mycarta.wordpress.com/2012/10/06/the-rainbow-is-deadlong-live-the-rainbow-part-3
    The method worked only on the green-yellow-red portion of the rainbow. Moreover, even with such a correction in that case we lose contrast (intended as the rate of change of lightness). With the results of this experiment, I concluded the article calling the rainbow hopeless for scientific visualization.

    1. Thanks for the links and discussion Matteo. I agree that it is interesting that people making such critical decisions in the medical community have already switched!
      Ed.

  5. I’ve actually wondered about this very issue for a while–colors being more abrupt visually than the data are, numerically.

    What’s interesting is that back when everything published was strictly paper, and color graphics cost a LOT of money, one would automatically use gray scales or different patterns for lines, etc so maybe wasn’t a big issue then.

  6. Last time I looked into this I quickly gave up as I discovered that there are many different sorts of colourblindness and so no safe colour map apart perhaps from black and white. Am I wrong?

    If not, then it seems wrong to limit the information perceived by most people when viewing a colour map. Instead, we should be making sure that all important scientific information may be found, in some way or other, within a black and white version of the paper…?

    1. Hi Jules – the vast majority of those who are colour blind tend to confuse shades of red & green. The Color Brewer website has ‘colour blind safe’ options but there will always be a tiny fraction of people who can get confused unless greyscale is used.
      Cheers,
      Ed.

  7. As noted in your intro, the science of graphic communication is not yet a discipline, but is practiced by many many people in different silos; it would be great if someone organized a confernce to get people from all the diff silos (biology, clinical med, geol, psychology, etc etc) talking about
    empirical evidence for how graphs work, eg moving beyond what tukey era people knew (45o angle curves are good)
    For instance, if you have a time series (x axis) and >3 lines (with Y axis scale), then use of color is a poor way to differentiate the lines

  8. I am wondering how to apply these insights to line charts. These have the added challenge that some colours do not stand out enough against a standard white background (e.g. yellow).

    If you had to identify 5-6 top colours to use, preferably in recommended order of addition, which would you choose? Should green be avoided altogether?

    1. Good question. Black and grey are two obvious choices. Try the ColorBrewer link in the post for their category schemes to add colours. Also consider different line styles and markers, even if lines are different colours. But, hard for everyone to distinguish more than ~5 lines, especially if close together.

      1. Black is often chosen for the principal or main series that others are compared to (e.g. see the BEST comparisons). So I probably wouldn’t use it for, say, three series of presumed equal standing. But definitely black and medium-gray can get you two extra colours.

        Variations in markers and line-styles are useful, especially if there are more than say 4 series. They can also help distinguish sub-types or be used to present variations on treatment of the “same” series (e.g. smoothed line and individual year markers).

        Leaving black aside, I often start with red and blue (pretty standard as far as I can tell). But maybe orange, blue and green would be better as the top three colours (pretty effective in your blog logo!). I’ll look at the links to get more ideas.

  9. It’s great to see this being discussed. It’s common to encounter figures that are illegible to me, as someone with the most common form of colourblindness (red-green). I don’t want to overplay the insight that this gives me, as individuals differ a lot in where they have problems, and in any case the issue is much wider than that of accessibility to the colourblind. Still, there are a couple of points that I would add:

    1) Line plots give me problems more frequently than images, yet these problems are much easier to address. Use of dashed/dotted lines, and lines punctuated with symbols are obvious solutions, but people will always want their figures to be colourful. In that case, it’s much easier to distinguish colours if lines are as thick as possible.

    2) I think the example rainbow colour schale from the post is Matlab’s “jet”? I admit to still sometimes using jet in presentations because, unlike many common colour scales, it poses negligible colourblind-specific problems to me (I might just about confuse a patch of green in a sea of yellow with orange, but not with red due to the contrast in intensity). This doesn’t change the fact that jet has too much contrast around the yellow and too little in the dark blue, but since non-colourblind people usually dislike my preferred colour scales, this seems to be a lesser evil. If I am typical in this regard, a switch away from jet might often mean a switch from a colourblind-legible colour scale to a nearly illegible one (e.g. all of the diverging colourscales that don’t include blue on the colorbrewer page: http://uk.mathworks.com/matlabcentral/fileexchange/screenshots/6223/original.jpg ), unless the individual making the switch is fully informed. Well researched default colour scales is more realistic than every individual being well informed, so the emergence of parula is encouraging.

    1. Thanks for the comments Kevin.

      It has been a slight surprise to me that line graphs have been more discussed than maps amongst the colour blind people we have spoken to, but it makes sense! Agree that thicker lines, and better use of line styles and markers will help.

      I also agree that jet is not the worst offender of the various rainbow colour scales for colour blindness, but better choices for the defaults are clearly a good start!

      cheers,
      Ed.

      1. Personally, I hate line markers (they add clutter, breaking one of those other “rules” of making graphs) and dotted or dashed lines easily turn to visual mush and/or exacerbate thin-line problems with perceiving differences between colours. These embellishments which notionally make the plot more accessible might just make it less generally accessible.

        The problem often comes with wanting to display and compare lots of data sets at the same time so maybe the problem is less colour choice and line styles than the way that plots are routinely conceived of and provided.

        There are some really nice interactive plotting tools out there which allow you to switch lines on, switch lines off, zoom, pan etc. For example:

        http://nsidc.org/arcticseaicenews/charctic-interactive-sea-ice-graph/

  10. Could we please have a similar campaign for equal-area map projections? sorry I don’t have such a catchy slogan for it though. Any deltas presented on a non-equal-area projection become very hard to interpret, especially when (as in most climate data!) there is a distinct difference in the effect between the polar/equatorial regions. Just plotting lat-lon directly results in an extremely misleading general impression. The IPCC use the Robinson map projection (I have not found any literature explaining this choice – perhaps there was a good reason?) which is a lot better than lat-lon but still exaggerates the poles. I think the Mollweide projection is ideal and I don’t understand why it is not more widely used. As with the colour scales, it is now so simple to implement different map projections in any decent plotting environment, that there is really no excuse.

    1. Hi Erica,
      I mostly agree, but there is sometimes a need to visually compare what is going on in the tropics and the high latitudes. I guess a Robinson projection may be a good compromise between showing that the high latitudes are a smaller area and a Mollweide which shrinks the poles to a size where these types of comparison are harder? But that is speculation!
      Cheers,
      Ed.

  11. I agree and have just spent a large part of the morning editing some diagram for upcoming presentations to conform with the recommendations.

    1. Hi Christopher,
      Yes, red-blue scheme is generally a good colour blind safe scale. I would always have white around zero with blue for negative anomalies and red for positive ones, but a warming climate makes this tricky when using an historical reference period!
      cheers,
      Ed.

  12. So, we undertake this pledge – to never again be an author on a paper which uses a rainbow colour scale.

    Frequency and intensity of light are two welldefined scales or if you want independent “quantity dimensions.” Human perception distorts those scales, but in principle the two dimensions are still perceptible, even if they may be not as nicely welldefined as it is the case for the pure frequency/intensity scale. In particular we know that there are many individual “scale distortions.” Overall however hue and luminance correspond still rather directly to frequency and intensity. Now a “rainbow scale” (in my understanding) can be a line parallel to the (possibly human perception adjusted) hue dimension (I.e. with constant intensity) , but it could also be a more or less “jiggly” parallel line i.e. a line with varying intensity. Hence if you do not allow for rainbow scales than you do not allow for the full use of the hue dimension. In particular a red-blu scale uses in some sense only parts of the hue dimension. This is usually perfectly fine for many applications, especially if the respective color fields are spacially close, but it may not always suffice.

    I understand that with your pledge you want to raise awareness for perceptional pitfalls of visualizations, but I think asking to not use rainbow scales is not the right way.

  13. #dead_rainbow.py

    x = np.arange(-10, 10, 0.02)
    y = np.arange(2, 10, 0.02)
    X, Y = np.meshgrid(x, y)
    Z = X**2+Y**2
    Z[np.where(Z>75)]=np.nan
    Z[np.where(Z<30)]=np.nan

    plt.figure(figsize=(5,3))
    plt.contourf(Z)
    plt.plot(300,600,'kx',ms=25,mew=8)
    plt.plot(700,600,'kx',ms=25,mew=8)
    plt.ylim(0,700)
    plt.axis('off')
    ax=plt.gca()
    ax.patch.set_alpha(0.0)
    plt.show()

  14. Ed, Nice piece and something that I agree many fields still struggle with. Macular Degeneracy and aging eyes in general are also an issue, and for those one needs contrast and lots of it. My colleagues with early stages of this find that at least some of “colorblind safe” color maps don’t have enough contrast. We recently compromised between colorblind safe and contrast and used the Haxby colormap for the new 20th Century Reanalysis version 3 homepage banner at . When run through the dominant colorblind emulator, I think it still looks good and discernable in a simulator at https://www.color-blindness.com/coblis-color-blindness-simulator/.

    In the realm of coloracy (like literacy and numeracy), I am also concerned with folks who plot two line curves: one is red, one is green. That, at least, should not be acceptable in a presentation or journal.

    Separately, could you update the link above for the first Python entry? I think they have moved to https://pypi.org/project/palettable/.

  15. As an older person reading weather.climate plots, I would say that many of the substitutes for rainbow color tables are unreadable for me. Contrast is a real problem when one gets older and there is science to support this. It is particularly a problem for those with macular degeneration, as pointed out in the comments, but it is an issue for the entire population. Hence, many of these non-rainbow substitutes feel like eye charts to me and I can not distinguish the different levels in them. Also, sometimes, it is important to have clearly contrasting colors as they represent a scientific quantity (such as a threshold) and being able to choose very contrasting colors is important. A rainbow colorable is not necessarily unscientific. While people should be aware they could be, that doesn’t mean they always are. And sometimes you really need more than 2 colors.

Leave a Reply to Howard Freeland Cancel reply

Your email address will not be published. Required fields are marked *