5 ms·
Why Should Engineers and Scientists Be Worried About Color? (1996)
- maho 13y agoI completely disagree with the first example - rainbow map vs. custom color map for height data on a geographic map. The custom color map is designed to show a step at 0, which highlights the coastline. Depending on what you want show, this is very misleading! Besides the water, there is nothing special about the coastline. The rainbow map, on the other hand, shows how shallow the slope of the coast is, and how sensitive the coastline is to changes of the ocean level. I also don't share the author's concern that rainbow color maps can introduce "bands" in continuous data. Maybe it's because I had to read so many of them over time, but in all except one of the examples, the rainbow color maps gave me at least as much information as the alternative encodings.
- sillysaurus2 13y agoI think both, side-by-side, convey more valuable information than either alone.
- jacobolus 13y agoIf the goal is to merely map elevation to color in a way that best reveals slope, then both colorings are pretty terrible. What you’d want instead is to have uniform change in lightness [lightness differences are the most salient perceptually]. The big problem with “rainbow” gradients is that they typically have some sections with steep change in lightness, and other sections of nearly uniform lightness, mixed together with nonuniform (in terms of human perception) hue and chroma changes from one part of the gradient to another. It’s very difficult to compare the slopes of a rainbow-gradient-mapped function across different parts of the gradient, and in some sections of the gradient very difficult to visually distinguish salient details. It would be much better to have uniform changes in lightness. The simplest such map just goes from black to white in a perceptually uniform way. But if more distinctions are needed, then another possible method is to make the lightness attribute sort of sawtooth (or can potentially use more of a triangle wave, in some cases), while keeping chroma relatively constant and letting hue change close to uniformly. This makes a few places where the perceived lightness has either a change of slope or a discontinuity, but since the rate of lightness change is otherwise constant, it is still fairly easy to make comparisons. [I really should make a proper article/essay about this at some point, with some demonstrative images / interactive widgets: it’s much easier to show visually than to describe in text] In the case of the chart under discussion, if the goal is to show the slope across the shoreline boundary and compare it to the slope elsewhere, I would recommend having uniform lightness change from dark [low elevation] to light [high elevation], combined with a hue discontinuity at the shore boundary. Because lightness is the most perceptually salient color attribute for noticing object boundaries, textures, fine details, motion, etc., it would still be possible to have a good idea of the slope across the shoreline boundary, while being able to perceive the boundary when closely examining the image. [Note: such schemes will also generally be helpful for colorblind users]
- hcarvalhoalves 13y agoI think both maps are useful, it just depends on what information you are concerned about. The first map only shows the earth crust, so it's useful if you're only concerned with that. The second map, with the step at 0, raises the perception of a "hidden" feature, which is the ocean level.
- stinos 13y agoRather interesting, but can anybody point to something more practical? Ie some application or website that, given a couple of colors or preferences or sample data, constructs some sort of optimal color scale, preferrably also usable for the most common form of color-blindness?
- jacobolus 13y agoCynthia Brewer’s “Color Brewer” is a great tool. http://colorbrewer2.org http://colorbrewer2.org Though note, it’s not really ideal for making gradients, since its “sequential” schemes only go up to 9 distinct categories, and its “diverging” schemes only go up to 11 distinct categories. If you took the suggested colors and made them equally spaced control points in a photoshop/CSS/etc. gradient, you’d get a reasonable outcome.
- jdherman 13y agoThere are libraries for matlab (and I think matplotlib too) that let you interpolate the ColorBrewer maps into gradients. Here's the matlab one: http://www.mathworks.com/matlabcentral/fileexchange/34087-cbrewer-colorbrewer-schemes-for-matlab http://www.mathworks.com/matlabcentral/fileexchange/34087-cb... Also for gradients, I wrote a pretty simple colormap editor here: http://colormap.org/ http://colormap.org/. This maybe gives too much freedom, since it doesn't enforce any best practices as far as colorblindness is concerned. But if you make sure the brightness (the gray line) is monotonic, it's a step in the right direction.
- heuermh 13y agoCool editor, thanks for the link. I wrote a library similar to what you describe for matlab in java: http://www.dishevelled.org/color-scheme/ http://www.dishevelled.org/color-scheme/
- pyalot2 13y agoIf you care about color, you should not miss "The importance of being linear" http://http.developer.nvidia.com/GPUGems3/gpugems3_ch24.html http://http.developer.nvidia.com/GPUGems3/gpugems3_ch24.html and corresponding discussion on wrong gamma in a variety of programs http://www.4p8.com/eric.brasseur/gamma.html http://www.4p8.com/eric.brasseur/gamma.html The prettiest gradients won't look good if the output color doesn't match the displays gamma.
- raverbashing 13y agoVery interesting. Gamma is a very complicated subject. Also the "legacy" aspect as mentioned, CRT had it, LCDs don't BUT to be "backwards compatible" they add this nonlinearity. Looks like the same discussion of why are we talking about PAL/NTSC and interlacing in digital video formats.
- jacobparker 13y agoThe "legacy" theory is attractive but unfair. Ultimately, image reproduction is about controlling perception and human brightness perception is non-linear. You should do any calculations in linear space (and possibly with a temporarily higher bit depth) but a linear display would not be desirable. Imagine having a room with 10 independently controlled LEDs of equivalent brightness to a 10-watt incandescent lightbulb. Try to visualize the difference from going from 0 (pitch black) to 1 light, to 2, and then imagine 9->10. If you try this IRL you will notice that human brightness perception is very non-linear. To get the most bang per light switch, we need to make the later lightbulbs brighter to get the same punch. This is what monitors do with their bit depth. It makes good sense for human perception to be non-linear: Earth has a very wide range of brightnesses we need to live in, and the difference in information we can acquire from being out in the sun vs. in the shade is not commensurate with the difference in brightness. If you are in a very, very dark place (not a city at night) you will experience a very distinct non-blackness. Your eyes (brain?) are turning up the gain to try and extract information. (I don't know if this happens in a perfectly dark place.) Uh sorry this was rambling. I should read that article...
- 13y ago
- phorese 13y agoBeing colorblind, the bottom row in Figure 5 is completely useless to me. I can also not distinguish +1000 from -1000 on the left side of Figure 1. Publishers, please use color only when it's really neccessary, and then please have some colorblind person available for sanity checking! While it might be hard to find someone with the less common variants, you can at least cover red-green.
- Woodshed 13y ago>Hi could you please make an article about color that uses color figures, work for people that can't see all colors? I hope you are joking. Maybe after they get done doing that we can have an article on smells with smells that people who can't smell can smell.
- aldanor 13y agoTrivia: their perception rule-based system is called "PRAVDA", which means "The Truth" in Russian.
- moondowner 13y agoActually "Pravda" means justice. Not only in Russian but in other Slavic languages as well.
- aldanor 13y ago"Pravda" never means justice in Russian (saying this as a native speaker), it means "truth". Btw there was a famous communist newspaper named Pravda, too: http://en.wikipedia.org/wiki/Pravda http://en.wikipedia.org/wiki/Pravda.
- moondowner 13y agoMy bad. Justice in Russian is actually "pravosudie" (if I got the romanization right). Justice in Croatian, Serbian, Macedonian, Bosnian and some other Slavic languages is "pravda". Predominantly in the South Slavic group it seems.