Pie Chart Maker

Slices and shares, with a readable legend.

Style

Slices and shares, with a readable legend.

How to use it

  1. Paste two columns. The shares are worked out from the total, so they need not add to 100.
  2. Choose pie or donut. A donut leaves the middle open, which suits a label in the centre.
  3. Read the legend. Each slice with its percentage, since slice labels overlap when slices are thin.

When you would use this

A pie chart shows parts of a whole, and that constraint is what makes it easy to misuse. Negative values are refused rather than drawn, because a slice has no negative size and any rendering of one is a lie about the data. The bar chart handles them properly, so the message says to use that instead. The shares are computed from whatever your numbers total, so raw counts work without being converted to percentages first. Labels go in a legend rather than on the slices. Two thin slices put their labels on top of each other, and an unreadable chart is worse than a chart with a key beside it. The legend has room for the label, the value and the share together. One detail worth mentioning because it breaks so many implementations: a single slice covering the whole circle cannot be drawn as an arc, since the start and end points are the same and the renderer draws nothing at all. That case is a circle here, so a pie of one value shows a full pie rather than an empty box.

Questions

Do my numbers have to add up to 100?
No. Each slice is its share of whatever the total comes to, so raw counts work directly and you do not have to convert them to percentages first.
Why a legend instead of labels on the slices?
Because slice labels overlap as soon as two slices are thin, and a chart where two labels sit on top of each other is worse than one with a legend beside it. The legend also has room for the value and the percentage together.
Why will it not take a negative value?
Because a slice has no negative size. A pie shows parts of a whole, and a negative part is not one. The tool says so and points at the bar chart, which handles negatives properly by hanging them below the axis.