February 6, 2019

My earlier post on why I don’t like Population Pyramids generated a lot of communication on twitter and this communication lead to what I think is an elegant and analytically solid offering from Chris Love.  His contribution was in the result of iterating and collaborating with several people, including Dorian Banutoiu and Daniel Zvinca.

I think what transpired over just a few hours shows the data visualization community at its finest.

Here’s a condensed view of what transpired.

First Issue – What I showed isn’t a Population Pyramid

Several people commented that a true Population Pyramid should show age (and only age) along the Y-axes and gender on the x-axis. My example revolved around gender and fields of study, but not age. Here is a typical population pyramid.

Figure 1 — Population Pyramid of China in 2017. Source: PopulationPyramid.Net

Second Issue – An assertion from others that Population Pyramids are useful when comparing more than one population

Both Chris Love and Bridget Cogley chimed in stating that while my criticism of a Population Pyramid is valid for a single group, Population Pyramids can be very useful when you have multiple populations to compare. Chris offered this small multiples example.

Figure 2 — Small multiples Population Pyramid from Chris Love.

Many people commented on this. I particularly liked this observation from Lindsey Betzendahl:

“I like this because I can quickly, at a high-level glance, get perspective on age by various countries and see outliers or variations. Like Kosovo. Clearly, it’s not to see exact values. The side by side with detailed set actions is a nice alternative.”

I had some back and forth with Chris as I was troubled that there was no way in his small multiple to see the gaps easily. He countered with a couple of other approaches, one of which is shown below.

Figure 3 — Another approach using bars. Blue indicates more males, gold more females.

I liked this quite a bit because I could compare shapes and see where there were gaps. In the meantime, Dorian Banutoiu proposed this hybrid approach where you could drill down on a particular small multiple and see its related gap chart.

Figure 4 — Hybrid example where we can see the big picture and drill down to see details using the gap chart. Notice that Romania is selected in the chart on the left.

This is when Daniel Zvinca got involved and he suggested using small multiples around a polygon chart, like the one shown below.

Figure 5 — Daniel Zvinca’s suggested approach.

This resonated with me and I shared as much with Dan and others:

“I was just thinking of doing the same thing — filling in the gap between the two lines and making that filled gap a different color based on which group is larger. I’d love to see how this would work with comparing shapes for many data pairs.”

And before I could post it, Dorian shared this:

Figure 6 — William Playfair’s famous timeline from 1786. Notice how the space between the two lines are filled with different colors to show the different gaps.

Here’s what happened next…

Figure 7 — A small portion of the twitter thread.

And fortunately for me, Chris Love took the bait! Here’s his wonderful rendering (click to see it in Tableau Public.)

Figure 8 — Chris Love’s population shapes chart showing gender gaps using an area chart (no polygons needed).

Observations from me and others

There were a lot of other people who added very useful commentary along the way. Jorge Cameos expressed concern that the professional demographers would protest about presenting age along the x-axis rather than the y-axes. Dan Zvinca said he would try to persuade the demographer to accept the horizontal layout. I decided to amplify Dan’s recommendation.

Figure 9 — I know some very persuasive people

Here’s a snippet of our discussion. Note in particular our agreement about the area charts for the small multiples and the gap chart for the details.

Figure 10 — A small piece of what was a very engaging discussion.

Care to see the entire discussion? Click here.


The few hours between when my tweet and Chris Love’s alternative approach showed the data visualization community at its best. As Chris put it, [amazing things] “can happen when you collaborate and challenge (or are challenged) on an established chart type like population pyramids.”

I’m very happy to have been the grain of sand that acted as the irritant in the oyster that produced this pearl.