Field note · September 14, 2025

Charting seats_now by plan

Two facts about the columns decide the chart. Cardinality and skew, in that order.

2 min read ·Visualization ·visualization

Someone wants seats_now broken down by plan on saas-subscriptions. Before choosing a chart, two facts decide it.

plan has 4 values, which fits comfortably. seats_now has a mean of 59 against a median of 8 — skewed, so a bar of averages will be pulled by the tail.

So: a horizontal bar chart, sorted by value rather than alphabetically. Alphabetical ordering is the default in most libraries and it is almost always the wrong one; sorting is the analysis.

And plot the median, not the mean — or plot the distribution outright. A bar of averages on a skewed column shows a number that no group member is near.

One y-axis. Colour by plan rather than by rank, so filtering a category does not repaint the others. And a table underneath, because someone will want the exact number and squinting at a bar is not a way to get it.

The thing to decide before any of that: what the chart is for. If the question is "which group is largest", a sorted bar answers it and a pie chart does not — angle is the hardest visual encoding to compare and the one most often reached for. If the question is "how much do groups differ", the bars need to start at zero or the difference is whatever the axis says it is. And if the question is "what does the distribution look like inside each group", bars are the wrong family entirely; that is a box plot or a strip plot, and no amount of styling turns one into the other.

The skew here makes the last case more likely than it looks. When a column has a long tail, "how do the groups compare" and "how do typical members of the groups compare" have different answers, and only the second is usually what was meant.

The chart builder enforces the mechanical parts — axis, palette, series cap, table view — which was the point of building it. It cannot enforce the first decision, which is the one that matters. Rules that live in a style guide are rules nobody follows at 6pm; rules in code are the ones that survive.