Skip to content
a man sitting at a table with a banner that reads Most graphs don't need more than three colors, change my mind.

Design and Conceptual Solutions for Color Accessibility

In last week’s post, I meandered into the conclusion that, for color to be fully accessible in a data visualization, you shouldn’t use more than three colors (light, medium, dark), including the background. But *so* many data visualizations have more than two data points, which is what we’re limited to with this fully accessible color scheme. What are we supposed to do about that?

Well, I’m SO glad that you asked. 🙂

Design Solutions

Lisa Charlotte Muth wrote a great, detailed blog post about strategies for making data visualizations accessible to people with color vision impairment. I encourage you to check it out!

Basically, in accessible dataviz design, color should never be the ONLY way to distinguish between different elements.

Here are a couple of examples:

If you were to print these two graphs in black and white, the dog and guinea pig lines/bars would be very similar colors, and the cat and fish lines/bars would be very similar colors:

a colored line graph involving cats, dogs, guinea pigs, and fisha colored bar graph involving cats, dogs, guinea pigs, and fish

a black and white line graph involving cats, dogs, guinea pigs, and fisha black and white bar graph involving cats, dogs, guinea pigs, and fish

Without changing the colors, you could make the graphs more accessible by incorporating design elements like pattern,

a line graph in which one line is solid and the other three have different patterns of dashes or dotsa bar graph where each bar is filled in with a different geometric pattern

shape,

a line graph with specific data points marked with a different geometric shape for each linea bar graph made of rows of fish, guinea pigs, dogs, and cats

and direct data labels.

a line graph where the lines for cats, fish, guinea pigs, and dogs are labeleda bars graph where the bars for cats, fish, guinea pigs, and dogs are directly labeled

However, design is only one way to make data visualization more accessible.

Conceptual Solution

You might remember our previous blog posts about exploration vs. explanation, art vs. understanding, and decoration vs. design.* Summary: I am forever on my soapbox about creating communication products with your audience and purpose in mind, rather than doing a data dump or trying to do something cute/slick/fancy.

If your purpose is to create artistic data visualizations then, by all means, use a million colors.

If your purpose is to convey specific findings from your data and you’re using more than three colors (or four, counting your background), you probably have too many. Here’s why:

1. In explanatory data visualization, color should (generally) signify differences.

If items are conceptually different, making them different colors is one way to reflect that. For example, if I’m trying to make a point about mammalian and non-mammalian pets, I might make those two categories a different color:

a bar chart where fish is shown in yellow and guinea pigs, dogs, and cats are shown in blue

If items are conceptually similar (i.e., multiple animals within the general category of “pets”), making them different colors will confuse your audience. Don’t make every data point a different color just because you think it’s pretty.

a bar chart with fish, guinea pigs, dogs, and cats are all shown in blue

2. There are conceptual and functional limits to how many categories should be shown in a single explanatory graph.

Basic data visualizations show two variables.** Sometimes those variables are numerical, like height, weight, or number of pets. Sometimes those variables are categorical, like types of animals, flavors of ice cream, or U.S. states.

If you’re adding color to signify some type of difference (as recommended in #1 above), then you’re usually introducing a third, categorical variable:

  • yellow means non-mammal, blue means mammal;
  • red means high, yellow means medium, blue means low;
  • blue means yes, red means no;
  • etc.

If that third variable has a lot of categories…

  • red means mammals, orange means fish, yellow means birds, green means turtles, blue means snakes, purple means insects, black means spiders;
  • dark red means very high, red means high, pink means sorta high, light blue means sorta low, blue means low, dark blue means really low;
  • etc., etc., etc.

…that’s a decent sign that you’re not conveying a single message with your explanatory graph. What single, informative sentence could you write about mammals AND fish AND birds AND turtles AND snakes AND insects AND spiders??

a bar chart with a jump of red, orange, yellow, green, blue, purple, and black bars corresponding with different types of pets

And then, on a functional level, your audience isn’t going to be able to keep a huge color scheme in their heads. This means they’ll constantly be looking between the color key and the graph, which means they’ll be working too hard to understand the (supposedly straightforward) message you’re trying to convey.

If your audience needs to see data for variables with a ton of categories, an explanatory graph probably won’t meet their needs. They’ll need an exploratory dataviz and, if precision is important, that dataviz probably needs to be a table rather than a graph.

The conceptual solution to color accessibility boils down to this: If your goal is convey a specific research finding to your audience, and you find yourself making a chart or graph with more than three colors, STOP. Think through what message you want to convey and what data it will take to convey it clearly.

If, after this soul searching, your dataviz still requires more than three colors, then THAT is the time to try some design solutions for color accessibility.

Do you need help honing your multi-colored message? Data Soapbox can help! Contact us here.

*Because you printed them out and hung them on your wall, obviously.

**Often along an x (horizontal) axis and a y (vertical) axis, or in columns and rows.

Comments (0)

Leave a Reply

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

Back To Top