Brewing Better Charts and Maps
Frosty P writes: Cindy Brewer chairs the geography program at Penn State, and has devoted much of her career to helping other people make better maps. By bringing research on visual perception to bear on design, she says cartographers can make maps that are more effective and more intuitive to understand. Many of the same lessons apply equally well to other types of data visualization. A big reason people run into trouble with their color schemes, Brewer says, is the way color picking is done in many software programs. Take the RGB cube (or sliders) many programs use to display colors along red, green, and blue axes, for example. 'That's not the least bit perceptually scaled,' Brewer said. 'In some parts of the cube a tiny step gives you a huge perceptual difference. In other parts it all looks the same.' Brewer's best-known invention is a website called Color Brewer, which helps mapmakers pick a color scheme that's well-suited for communicating the particular type of data they're mapping.
It's so obvious that I encounter the problem in maps, pie charts, categories in video games, etc.
I guess it's not that obvious after all. Add the various degrees of color-blindness that a lot of people have and you end up with a serious issue.
For R users, see the RColorBrewer package for an easy way to use these palettes in maps and charts.
1. colorbrewer is free 2. with all the mapping disasters I've seen, I can assure you that using the Lab/HCL color space is not obvious (or even known) to the vast majority of map creators
A big reason people run into trouble with their color schemes, Brewer says, is the way color picking is done in many software programs. Take the RGB cube (or sliders) many programs use to display colors along red, green, and blue axes, for example. 'That's not the least bit perceptually scaled,' Brewer said. 'In some parts of the cube a tiny step gives you a huge perceptual difference. In other parts it all looks the same.'
I remember Ed Tufte making the same point about displaying information with rainbow color-maps, an unfortunate favourite of many scientists.
If it weren't for deadlines, nothing would be late.
Every time I see an article mentioning "software programs" I cringe. I guess they're different from "hardware programs" or "exercise programs" or you can just call it "software" like everyone else. It reads like someone still uses a typewriter and not one of these fancy new computers using "word processing software programs". *sigh*
I was struck by the similarities in the shades of colors in the Color Brewer to the use of patterns, repeats, and variations in music. When you hear the same musical pattern repeated over and over, it sets up an expectation in the mind for that pattern to continue. In the Color Blender, choosing a range of mono-chromatic values for a single hue does exactly the same thing. Once we see the pattern of a single color changing value in regular perceptual steps (more on that in a moment), it sets up an expectation that this will continue. By mapping this expectation to a data series, it's easy to understand how that might highlight and enhance one's understanding of how the data is changing, too.
I have always hated the traditional color cubes for exactly the same reason as the professor: the units of control in the interface are wholly out of step with the units of perception. Move a little, and it is supposed to change just a little, but that is not what happens in a color cube!
Music has a similar problem, in that sound is not equally perceived across the range of possible combinations of vibrations. Early musicians invented "scales" of sounds, which are really just a sequence of sweet spots in these combinations that align with our own, internal "data" series -- the series of emotions and thought. When we hear a "sad" song, it literally makes us feel sad, the sound of sadness coincides so closely with the feeling. All of the sadness-inducing notes are collected together into a single, named collection called a "minor" key, something like a library from a programming perspective.
However, even with all the libraries of sound available, it was recognized very early on that the ranges are not mathematically perfect. Sound is composed by the summation of multiple vibrations, some of which cancel each other other, and others that emphasize each other. You have to "temper" the scales, that is, slightly tune them away from mathematical perfection, as you go up or down in pitch, in order for them to be equally perceived.
"We receive as friendly that which agrees with, we resist with dislike that which opposes us" - Faraday