Happy Pi Day!

On this, the most venerated of holidays, it seems only right to examine the use and misuse of circles in graphs.

The circle is a friendly shape. Where squares and rectangles scream precision and rigidity, circles are more go-with-the-flow – which makes them ideal in data visualizations for non-science audiences.

Yet behind its curvy exterior lies a hidden peril – one that must be addressed lest your data be misrepresented.

## A matter of proportion

If you’re using circles (or any shape) to represent a number, the size of that circle must be proportional to the size of the number.

But what do we mean by “size”?

Well, when you look at a circle, what do you see? Generally we look at it in its entirety, as a full circular shape; we don’t really think about its linear dimensions like radius or diameter.

Our data needs to match.

**When using circles in data visualizations, the AREA of the circle must represent the size of the number.**

Still, it’s all too common to see visualizations like this:

What’s going on here? The circle representing BC is supposed to be about 1/3 the size of the Ontario circle, but that’s clearly not the case.

The graphic above is what happens when you tie a circle’s *radius* to the value it represents – not the area.

And that’s a surprisingly easy trap to fall into. Most graphics programs require a radius or diameter to draw a circle; they don’t ask for the area. So you just put your datapoint into the blank, and away you go, right?

Not so much.

Remember this old chestnut?

Area =π × r^{2}

This equation determines the size (area) of a circle based on its radius. Obviously a circle’s radius and area can never be equal,* so to use the two interchangeably would be wrong.

** Unless you have a radius of zero, in which case you don’t even have a circle and why are you starting arguments on the internet?*

## Circular logic

If your computer program needs a radius to draw a circle, you’ll need to calculate it – don’t just use your datapoint directly.

Below, I’ve rearranged the Area = πr² equation to solve for the radius. Just plug your datapoint value into the “Area” spot below and see what comes out:

Radius = √( Area /π )

Calculating the circle sizes properly, the data visualization looks like this:

Here, the circles are indeed in proportion: the BC circle is 1/3 the size of the Ontario circle.

## Is it that big a deal?

Yup. With that “squared” in the equation, things can spiral out of proportion very quickly.

Area when using equation correctly |
Area when using equation incorrectly |

1 | 3.14 |

2 | 12.56 |

3 | 28.26 |

4 | 50.24 |

5 | 78.50 |

This table shows what happens when numbers get used as the radius variable instead of the area. As the numbers grow, the shapes get more and more disproportionate.

## Things get even more complicated when you start using weird shapes.

Remember that time I put a halibut in my graph? I had to make sure that the area of my halibut was proportional to the monetary value it represented.

You’ll need to do the same any time you use an icon or other irregular shape to represent a number.

I typically draw an imaginary circle around the icon, then grow or shrink the circle based on the symbol’s “visual weight” – the amount of space it covers on the page.

In the examples above, the unpuffed pufferfish (top left) is a fairly solid oblong shape, so I keep the guide circle pretty close to the fish’s natural boundaries. The outline of BC, on the other hand, is a mostly vertical shape. I would shrink the circle to reflect the lack of substance on either side, or better yet approximate it with a different shape altogether, like a rectangle.

## Circles are worth the trouble.

They can liven up any dataviz suffering from ho-hum content or layout.

Just make sure you mind your As and Rs and use your geometry powers for good!

Neat article Andrea! I see this mistake made all the time.

Conveniently, any (uniformly scaled) 2D shape’s area is proportional to the square of any one of its 1D parameters (length, with, diameter…) yielding an easy way to consistently ensure proper scaling in this type of figure by simply using the square root of one of these parameters then multiplying by whatever size constant makes the figure look nice.

That’s true, but unfortunately there’s no Square Root Day. 🙂