Butterfly Chart
Back-to-back horizontal bars for any two-sided comparison, with the category labels in the center gutter.
Approve vs Disapprove by Policy
National poll, n=1,200
View data (6 rows)
| Approve | Disapprove | Policy |
|---|---|---|
| 71 | 22 | Healthcare |
| 66 | 25 | Education |
| 62 | 28 | Climate action |
| 48 | 41 | Tax reform |
| 44 | 39 | Trade |
| 38 | 52 | Immigration |
Use a butterfly chart when…
- Two contrasting metrics across the same categories
- Approve vs disapprove, revenue vs cost, before vs after
- When the symmetry of the comparison is the message
Avoid when…
- Demographic age × sex breakdown (use population pyramid)
- More than two series (use grouped bar)
- Single metric (use bar)
Data it needs
| Property | Value |
|---|---|
| Min Rows | 3 |
| Min Columns | 3 |
| Column Types | stringnumbernumber |
Visual anatomy
Guiding principles
Consider instead
Common mistakes
Using different x-axis scales on the two sides
Squeezing the center gutter so labels are unreadable
Relying on color alone to distinguish the two sides
History
Generalization of the population pyramid (Francis Walker, 1874) to non-demographic A/B comparisons such as approve/disapprove polling or revenue/cost ledgers.
Accessibility notes
Pair the two-side color encoding with a side label or pattern fill so color-vision-deficient readers can still tell the sides apart. Mirror axis labels on both sides for screen-reader clarity and provide a data table.
Related reading
Got data? Let's see what works.
Drop your CSV. You'll get a Butterfly Chart plus four alternatives - ranked by which one actually fits your data best.