Decision framework for selecting the most effective visualization for your data and message.
What are you showing?
β
βββ COMPARISON between groups
β βββ Few categories (2-5) β Bar chart (vertical)
β βββ Many categories (6+) β Bar chart (horizontal)
β βββ Over time β Line chart (grouped)
β βββ Part of whole β Stacked bar or pie (only if 2-5 segments)
β
βββ DISTRIBUTION of values
β βββ Single variable β Histogram + KDE
β βββ Compare distributions β Box plot or violin plot
β βββ Exact percentiles matter β Box plot
β βββ Shape matters β Violin plot or ridgeline
β
βββ RELATIONSHIP between variables
β βββ Two numeric β Scatter plot + regression line
β βββ Numeric vs categorical β Strip/swarm plot
β βββ Many numeric pairs β Pair plot or correlation heatmap
β βββ Three variables β Scatter with color/size encoding
β
βββ TREND over time
β βββ One metric β Line chart
β βββ Multiple metrics β Multi-line or small multiples
β βββ Cumulative β Area chart
β βββ Seasonal patterns β Seasonal decomposition plot
β
βββ COMPOSITION
βββ At one point in time β Pie chart (β€5 segments) or treemap
βββ Over time β Stacked area
βββ Hierarchical β Treemap or sunburst
| Situation | Best Chart | Avoid |
|---|---|---|
| Comparing exact values | Bar chart | Pie chart |
| Showing trend | Line chart | Bar chart |
| Showing distribution | Histogram | Bar chart |
| Correlations | Scatter plot | Table |
| Part-of-whole (β€5 parts) | Pie/donut | Bar chart (sometimes) |
| Part-of-whole (>5 parts) | Treemap | Pie chart |
| Before/after comparison | Paired bar or slope chart | Grouped bars |
| Geographic data | Choropleth map | Bar chart by region |
1. Dual Y-axes β Almost always misleading. Use small multiples instead.
2. 3D charts β Never add depth for decoration. It distorts perception.
3. Pie charts with >5 segments β Humans can't accurately compare angles.
4. Truncated Y-axis without indication β Either start at 0 or clearly mark the break.
5. Rainbow color schemes β Use sequential (lightβdark) for ordered data, categorical for groups.
Get the full Python Data Analysis Toolkit and unlock everything.
Get the complete guide with every chapter unlocked, including code samples, diagrams, and best practices.
Access all interactive tools with complete data, all workload profiles, and the full scenario library.
Downloadable source code, configuration files, and working examples from every chapter.
Free updates for life. Every new chapter, tool, and improvement included.