Reference Guide
Data Visualization Best Practices
An evidence-based guide to creating clear, honest, and effective data visualizations. Each principle is grounded in research from the field's leading authorities.
1. How to Choose the Right Chart Type
The single most consequential decision in data visualization is matching the chart form to the data relationship. A pie chart used to compare seven categories, a line chart for unordered categories, or a bar chart for correlation data — each is a structural mismatch that actively misleads the viewer (Cairo, 2016).
The data-to-viz.com decision tree, maintained by Yan Hollis, provides a systematic framework: start with the type of relationship you want to show — comparison, trend, distribution, correlation, composition, or flow — and let that relationship dictate the visual form (Hollis, data-to-viz.com). Lisa Charlotte Rost's "what to consider when creating charts" guide at Datawrapper extends this thinking with practical flowcharts for newsroom and business contexts (Rost, Datawrapper).
Andy Kirk's Visualising Data adds a useful nuance: the choice is not just about data type but about audience task. A bar chart works when the audience needs to compare magnitudes; a slope chart works when they need to compare change. The same dataset can justify different chart types depending on the question the viewer is expected to answer (Kirk, 2016).
Quick Reference
Pie charts deserve special caution. Humans are poor at comparing angles and areas — Cleveland and McGill's perceptual ranking places "angle" near the bottom of accurate visual encodings. Reserve pie charts for parts-of-whole with two to three slices at most. For anything more, a sorted horizontal bar chart is almost always superior (Knaflic, 2015; Hollis, data-to-viz.com).
Do / Don't
- ✅ Do start with the question "What relationship am I showing?" before choosing a chart type.
- ✅ Do consider whether a simple table would be more effective for precise lookup tasks.
- ❌ Don't use a pie chart with more than three slices — the human eye cannot reliably compare adjacent angles.
- ❌ Don't use a line chart for categorical data with no inherent order (e.g., countries, product names).
Example: Pie chart with 8 slices → sorted horizontal bar with highlight
❌ Pie chart with too many slices
✅ Sorted bar chart with clear takeaway
Want to check your own chart against these principles? Try the nogorilla chart clarity self-assessment →
2. How to Reduce Clutter and Maximize the Data-Ink Ratio
Edward Tufte's "data-ink ratio" principle remains the gold standard: maximize the share of ink (or pixels) devoted to actual data, and minimize everything else. Every border, shadow, gradient, and decorative element competes with the signal for the viewer's limited cognitive bandwidth (Tufte, 1983).
Cole Nussbaumer Knaflic operationalizes this as the "declutter" step in her storytelling-with-data workflow. She recommends asking of every element: "Would removing this change the viewer's understanding?" If the answer is no, remove it (Knaflic, 2015).
Chartosaur's guidelines emphasize that gridlines should be whisper-light or absent entirely when direct data labels are present. Heavy grid borders belong to spreadsheet tables, not to data visualizations designed for communication (Chartosaur).
Nadieh Bremer's data art demonstrates that even complex, layered visualizations can feel effortless when every decorative element also encodes data. The lesson for everyday charts: if an element is purely decorative, it is clutter — no matter how beautiful it looks in isolation (Bremer, visualcinnamon.com).
The Declutter Checklist
- ✅ Remove 3D effects, shadows, and gradients — they add zero information.
- ✅ Lighten gridlines to a pale grey, or remove them if direct labels exist.
- ✅ Delete the chart border and background fill — let the data float on the page.
- ✅ Remove redundant axis labels when values are directly labeled on bars.
- ❌ Don't use a legend if you can label series directly on the chart.
- ❌ Don't use a rainbow of colors when a single highlight color conveys the same message.
Example: Cluttered bar chart → clean, focused version
❌ Heavy borders, rainbow colors, topic title
✅ Minimal scaffolding, highlight color, takeaway title
Want to check your own chart against these principles? Try the nogorilla chart clarity self-assessment →
3. How to Label Charts Effectively
Legends force the viewer's eye to shuttle between the data and a separate key — a cognitive round trip that slows comprehension. Knaflic calls this "the legend tax" and recommends direct labeling as the default: place the series name at the endpoint of each line, inside or beside each bar, or next to each data group (Knaflic, 2015).
When a legend is unavoidable (e.g., a dense scatter plot), place it as close to the data as possible and match its visual order to the data order. The viewer should never have to search for the key (Cairo, 2012).
Units matter. A number without a unit — "50" — is meaningless. Is it thousands? Percent? Dollars? Label axes and data points with explicit units. This is the single most common data visualization omission, per data-to-viz.com's caveat gallery (Hollis, data-to-viz.com).
Do / Don't
- ✅ Do label line endpoints directly with series name + final value.
- ✅ Do include units on axes: "$k", "%", "per 100k population."
- ✅ Do annotate the specific data point your title references.
- ❌ Don't rely on a separate legend box when direct labels would suffice.
- ❌ Don't leave numbers unlabeled — an axis reading "50" with no unit is a chart that fails at the first reading.
Example: Separate legend → integrated direct labels
❌ External legend, generic title
✅ Direct labels, takeaway title, emphasis on leader
Want to check your own chart against these principles? Try the nogorilla chart clarity self-assessment →
4. How to Use Color Intentionally in Data Visualization
Color is one of the most powerful preattentive attributes — the brain processes it before conscious thought begins. This makes color a precision instrument: use it to direct attention to the one thing that matters, not to decorate every bar with a different hue (Knaflic, 2015).
The rainbow-bar anti-pattern — assigning a unique color to each category by default — is perhaps the most common misuse of color in business dashboards. When every bar is a different color, none stands out, and the chart becomes a carnival of distraction (Cairo, 2019).
Alberto Cairo emphasizes a critical accessibility requirement: approximately 8% of men and 0.5% of women have some form of color vision deficiency. A chart that relies solely on red-versus-green encoding fails for roughly 1 in 12 male viewers. Always double-encode with labels, patterns, or brightness differences (Cairo, 2019).
The data-to-viz.com caveat on color warns against using color "just because you can." Every color choice should answer the question: "What does this color mean?" If the answer is "nothing," it should be grey (Hollis, data-to-viz.com).
Gestalt principles reinforce this. The principle of similarity says viewers automatically group elements that share color. When a title word and a bar share the same hue, the reader links them instantly — no legend needed (Ware, 2012). Use this deliberately: color a key term in your title to match the highlighted data element. It is one of the highest-leverage, lowest-effort improvements you can make.
Nathan Yau and the broader visualization community — using tools like ggplot2, RColorBrewer, and viridis palettes — have established that perceptually uniform color scales are not optional for sequential and diverging data. If your values run from low to high, a well-designed sequential palette (not a rainbow) ensures that equal data distances produce equal perceptual distances on screen (Yau, flowingdata.com).
Color Principles
- ✅ Use one highlight color for the focal data point and grey for context.
- ✅ Match title keywords to data colors — leverage Gestalt similarity to eliminate legend lookups.
- ✅ Maintain consistent category-to-color mapping across all charts in a report.
- ✅ Test every chart in grayscale — if the message vanishes, add labels or patterns.
- ❌ Don't assign a unique color to each bar or slice unless each color encodes meaning.
- ❌ Don't rely solely on red vs. green to encode positive vs. negative — use shapes or annotations as well.
Example: Rainbow bars → single-highlight with sorted order
❌ Every bar a different color, alphabetical order
✅ One highlight, sorted by value, takeaway title
Want to check your own chart against these principles? Try the nogorilla chart clarity self-assessment →
5. How to Maintain Data Integrity and Honest Axes
Alberto Cairo opens How Charts Lie (2019) with the observation that more charts mislead through careless axis manipulation than through outright fabrication. The most common offender: truncating the y-axis on a bar chart.
Bar charts encode magnitude via length. When the axis starts at 85 instead of 0, a 4-point difference looks like a 400% gap. This is not a stylistic choice — it is a structural distortion. The data-to-viz.com caveat page on truncated axes catalogs this as one of the most frequently encountered visualization failures (Hollis, data-to-viz.com).
Line charts are different. Because line charts encode slope (rate of change) rather than magnitude, it is acceptable — and often preferable — to truncate the y-axis to reveal a trend that would be invisible at full scale. The key is to be explicit: label the axis clearly and avoid implying magnitude where only trend is being shown (Cairo, 2019).
Beyond truncation, Chartosaur recommends always displaying the data source and "as-of" date. Data without provenance is an assertion without evidence — it undermines trust and prevents verification (Chartosaur).
Integrity Checklist
- ✅ Do start bar charts at zero — always.
- ✅ Do label the axis scale clearly, especially if using log scale.
- ✅ Do include a source citation and "data as-of" date in a footer.
- ✅ Do show uncertainty ranges for forecasts, surveys, and estimates.
- ❌ Don't truncate a bar chart y-axis to exaggerate small differences.
- ❌ Don't use dual y-axes without a strong, clearly labeled justification.
Example: Truncated y-axis → honest zero baseline
❌ Y-axis starts at 85 — exaggerates differences
✅ Y-axis at 0 — differences shown in honest proportion
Want to check your own chart against these principles? Try the nogorilla chart clarity self-assessment →
6. How to Write Titles That Communicate the Takeaway
A chart title that merely names the topic — "Revenue by Region" — forces the viewer to decode the insight from the data unaided. A title that states the conclusion — "Western Region Revenue Grew 20% Year-over-Year" — does the cognitive work for them. Cole Nussbaumer Knaflic calls this the "so-what" test: if your title could describe a blank chart, it is a topic, not a takeaway (Knaflic, 2015).
Alberto Cairo describes the title as a "contract with the reader." It tells them what the chart will prove. When the visual emphasis matches the title's claim — the highlighted bar is the one the title references — trust is established instantly (Cairo, 2016).
Chartosaur formalizes this into a simple rubric: a chart title should be a complete sentence that could stand alone in an email subject line and still deliver the insight. If it requires the chart to make sense, it's incomplete. If the chart contradicts it, the visualization is broken (Chartosaur).
The Title Test
❌ Topic Titles
- "Revenue by Quarter"
- "User Growth"
- "Survey Results"
- "Monthly Expenses"
✅ Takeaway Titles
- "Q4 Revenue Hit $188k — Up 57% YoY"
- "User Base Grew 4.5× in Four Years"
- "72% of Respondents Prefer Remote Work"
- "Marketing Spend Drove 40% of Cost Growth"
Example: Topic title → takeaway title with visual emphasis
❌ Generic topic title, uniform bars
✅ Assertive takeaway title, highlighted final bar
Want to check your own chart against these principles? Try the nogorilla chart clarity self-assessment →
References
- Cairo, A. (2012). The Functional Art: An Introduction to Information Graphics and Visualization. New Riders.
- Cairo, A. (2016). The Truthful Art: Data, Charts, and Maps for Communication. New Riders.
- Cairo, A. (2019). How Charts Lie: Getting Smarter about Visual Information. W. W. Norton & Company.
- Hollis, Y. From Data to Viz — A Decision Tree for Chart Selection. data-to-viz.com.
- Knaflic, C. N. (2015). Storytelling with Data: A Data Visualization Guide for Business Professionals. Wiley.
- Knaflic, C. N. storytellingwithdata.com — Blog, chart guides, and workshop materials.
- Chartosaur. chartosaur.com — Practical chart design references and best-practice checklists.
- Tufte, E. R. (1983). The Visual Display of Quantitative Information. Graphics Press.
- Cleveland, W. S. & McGill, R. (1984). "Graphical Perception: Theory, Experimentation, and Application to the Development of Graphical Methods." Journal of the American Statistical Association, 79(387), 531–554.
- Kirk, A. (2016). Data Visualisation: A Handbook for Data Driven Design. SAGE Publications.
- Bremer, N. visualcinnamon.com — Data art and advanced visualization techniques.
- Rost, L. C. Datawrapper Blog — "What to consider when creating charts" and chart-choice guides.
- Yau, N. flowingdata.com — Tutorials and commentary on data visualization craft.
- Ware, C. (2012). Information Visualization: Perception for Design. 3rd ed. Morgan Kaufmann.
Put these practices to the test.
The nogorilla self-assessment scores your chart across 20 questions covering every principle on this page.
Start Assessment