Skip to main content
Praveen Manchi
Journal№ 04
  • UI Design
  • Data Visualization
  • Accessibility
  • UX Research
By Praveen Manchi · Jul 22, 2024 · 9 min

Data Visualization in UX: How to Present Complex Information Simply

Edward Tufte redrew the same bar chart three times in 1983 to prove a point: most of the ink on a typical chart isn’t showing data at all. This guide applies his data-ink ratio, WCAG’s specific 3:1 contrast rule for chart elements, and Nielsen Norman Group’s dashboard research to turn dense datasets into visuals people can actually read.

Data Visualization in UX: How to Present Complex Information Simply

Data VisualizationClarity First

  1. Data-Ink Ratio

    Tufte's test: remove every mark that doesn't change what a viewer reads. Drop shadows, 3D bevels and duplicate labels are chartjunk.

  2. Preattentive Encoding

    Length and 2D position are judged in under 250 milliseconds and most accurately, which is why bar charts usually beat pie charts.

  3. Color Is Not Enough

    WCAG 1.4.11 needs 3:1 contrast between adjacent elements, and 1.4.1 bans color as the only cue - about 8% of men have color vision deficiency.

  4. Dashboard Layout

    Users scan dashboards in an F-pattern, so the most important number goes top-left. Match operational vs. analytical dashboard types to the decision.

[ CHART WORKFLOW ]

Pick the chart from the comparison being made

Good data visualization in UX starts from the comparison - value, trend, part-to-whole or distribution - then strips chartjunk, checks non-text contrast at 3:1, pairs color with labels or shapes, and places the key number where an F-pattern scan lands first.

  1. Choose chart - from the comparison
  2. Remove junk - Tufte's data-ink test
  3. Check contrast - 3:1 between elements
  4. Add 2nd cue - shape, label, pattern
  5. Place top-left - F-pattern scanning
On this page

Edward Tufte redrew the same bar chart three times in "The Visual Display of Quantitative Information" (1983), each version stripping out gridlines, drop shadows, and redundant labels, to make one point: most of the ink on a typical chart isn't showing data at all. He called the ratio of data-representing ink to total ink the data-ink ratio, and it's still the fastest diagnostic for a cluttered dashboard four decades later - delete anything that isn't the data, and see what's left.

The Data-Ink Ratio, in Practice

Tufte's test is mechanical: for every mark on a chart, ask whether removing it changes what a viewer can read from the data. Drop shadows on bars, 3D bevels on pie slices, background gridlines darker than the data itself, and duplicate labels all fail that test - Tufte's term for them collectively is chartjunk. A bar chart with a heavy border, a legend repeating what's already labeled on each bar, and a gradient fill can often lose all three and read faster, not slower.

The ratio isn't an argument for bare charts. Gridlines that help a viewer read a precise value, or a single reference line marking a target, earn their ink. The test is whether each mark serves comprehension or just decorates the chart.

Why the Brain Reads Some Charts Faster Than Others

Nielsen Norman Group's research on dashboard usability points to a specific mechanism: certain visual properties - length, 2D position, angle - are processed preattentively, meaning a viewer perceives them before consciously focusing, in under 250 milliseconds. Length and position are the most accurately judged of these properties; color hue and area are judged far less precisely. That's the underlying reason a bar chart usually beats a pie chart for comparing values: reading position along a shared axis is a near-instant, preattentive judgment, while comparing the area of two wedges is not.

  • Comparing values: bar or column charts - length is precisely comparable.
  • Showing a trend over time: line charts - position and slope read instantly.
  • Showing part-to-whole with few categories: stacked bars generally outperform pie charts for anything beyond two or three slices.
  • Showing distribution: histograms or box plots, not a single averaged number.

Color Is Not a Reliable Channel - WCAG Says So Explicitly

Two separate WCAG success criteria govern chart color, and both are testable, not aesthetic judgment calls. Success Criterion 1.4.11 (Non-text Contrast) requires a minimum 3:1 contrast ratio between adjacent graphical elements - two bars sitting next to each other in different colors need 3:1 contrast against each other, not just against the page background. Success Criterion 1.4.1 (Use of Color) requires that color never be the only channel carrying meaning: a red/green status indicator needs a second cue - an icon, a pattern, a label - because roughly 8% of men have some form of color vision deficiency and won't reliably distinguish red from green at a glance.

A newer contrast model, APCA (Accessible Perceptual Contrast Algorithm), is slated to replace the current WCAG 2.x contrast math in WCAG 3.0. It's built to be more accurate for the light-gray-on-white palettes common in modern dashboards, where the current ratio-based formula can flag genuinely readable text as failing, or pass genuinely unreadable combinations - worth tracking if a design system leans on subtle grays.

Designing for Dashboards Specifically

Nielsen Norman Group draws a line between two dashboard types that get designed the same way far too often: operational dashboards, built for fast, time-sensitive decisions on real-time data, and analytical dashboards, built for exploring historical data and finding patterns. An operational dashboard crowded with the drill-down filters an analytical one needs slows down the exact fast decision it exists to support.

Eye-tracking research from Nielsen Norman Group found users scan dashboards in an F-shaped pattern: a horizontal sweep across the top, a shorter sweep further down, then a vertical scan down the left edge. The practical consequence is blunt - whatever number matters most goes top-left, not centered, and not fourth in a row of five equally sized tiles.

A Working Checklist

  • Pick the chart type from the comparison being made (value, trend, part-to-whole, distribution) - not from what looks most impressive.
  • Remove every mark that doesn't change what a viewer reads from the data - Tufte's test, applied literally.
  • Check adjacent chart-element contrast at 3:1, not just text contrast at 4.5:1.
  • Never encode meaning in color alone - pair it with a shape, label, or pattern.
  • Place the most important number where an F-pattern scan hits it first.
  • Match dashboard type (operational vs. analytical) to what the viewer is actually trying to decide.

None of this requires new tooling. It requires being willing to delete the chart elements that exist because a template shipped with them, not because a viewer needs them.

References & Further Reading