Visualization Is Rhetoric

Every chart makes an argument. This is not a metaphor — it is a literal description of what visualization does. You choose what data to show and what to omit. You choose what time range to display. You choose the scale, the baseline, the color. Every one of these choices either supports or undermines the argument the data is making. There is no neutral chart.

The designer's job is to make the right argument clearly. "Right" here means accurate — the argument the data actually supports, not the one that would look best in a quarterly review deck. "Clearly" means that the audience understands the point without needing to work for it. When those two requirements are in tension — when the accurate argument is nuanced and the clear argument would be an oversimplification — that tension is the design problem to solve.

Understanding visualization as rhetoric changes how you evaluate charts. The question is not "does this look professional?" It is "does the person reading this understand what the data is actually saying?" A chart that looks polished but leaves the reader confused has failed. A chart that looks rough but communicates its point instantly has succeeded. Aesthetics serve communication; they do not substitute for it.

This framing also clarifies what good data visualization practice looks like in practice. It means asking, before you open your charting tool: what is the one thing I want the reader to take away from this? If you cannot state that in a single sentence before you start building, you will end up with a chart that tries to say everything and communicates nothing. Start with the sentence. Build toward it.

The question is not "does this look professional?" It is "does the person reading this understand what the data is actually saying?"

Chart Type as Semantic Choice

Chart types are not interchangeable. Each encodes a specific semantic claim about the relationship between data points, and using the wrong type is not just aesthetically wrong — it communicates false information about what the data shows.

Bar charts encode magnitude for comparison across discrete categories. The visual principle is that bar height directly represents quantity — the eye compares heights across bars. This makes bars ideal for questions like "which category is largest?" or "how do these values rank?" They require a zero baseline because truncating the axis visually exaggerates differences between bars in a way that misrepresents the actual ratios.

Line charts encode change over continuous time. The line itself — the connection between points — makes a claim: that there is a meaningful progression from one measurement to the next, not just separate measurements at discrete times. This is why connecting scatter points with a line when the x-axis represents categories (not time) is misleading. The line implies continuity that doesn't exist in the data.

Scatter plots encode correlation — the relationship between two continuous variables. They are the correct chart for "do these two things move together?" They are not useful for comparison or ranking. Pie charts encode part-to-whole relationships, but only work when the number of categories is very small (three or fewer) and the differences between slices are large enough for the eye to perceive. For most real datasets, a sorted bar chart communicates the same information more accurately.

Correct — bars for comparison
Monthly revenue by channel
Direct
$82k
Organic
$61k
Paid
$47k
Referral
$28k
Wrong — pie for comparison
Same data, harder to read
Direct — 37%
Organic — 28%
Paid — 21%
Referral — 13%

The Data-Ink Ratio

Edward Tufte introduced the data-ink ratio in The Visual Display of Quantitative Information: the proportion of a chart's ink that is directly encoding data versus ink that is decorative or structural overhead. The principle is to maximize the first and minimize the second. Every element that is present should earn its place by communicating information that would be lost without it.

In practice, this means systematically asking what each visual element is doing. Gridlines? Useful if they help the reader read off precise values; remove them or fade them to near-invisibility if the chart is about relative magnitude rather than exact numbers. Borders around charts? Almost never necessary — white space alone provides sufficient visual separation. Background colors on chart areas? Usually decorative, never informative, often distracting.

The legend is one of the highest-friction elements in most charts. It requires the reader to perform a cognitive round-trip: see a colored element, find the corresponding legend entry, read the label, return to the chart, re-interpret what they saw. Every round-trip costs attention. If you can label data series directly — annotating the line itself, labeling the bar directly — you have eliminated that cost. Direct labeling is almost always better than a legend.

The strongest version of high data-ink ratio is not minimalism for its own sake. It is the recognition that visual clutter competes with the data for the reader's attention. Every non-data element you add raises the threshold the data needs to exceed to be noticed. The goal is not a bare chart — it is a chart where every ink mark is working. A thoughtful axis label earns its place. A decorative shadow does not.

Low data-ink ratio
Gridlines, borders, legend overhead
100
75
50
Dataset A
High data-ink ratio
Direct labels, no redundant structure
Revenue
Jan → Apr, trending +18%

Color as Information

Color in data visualization should encode information, not decorate. When every bar in a bar chart is a different color, color carries no information — the colors are arbitrary. When a heat map uses a gradient from blue to red, those colors encode a continuous variable. The test is: if someone removed all the color from the chart, what information would be lost? If the answer is "nothing meaningful," the color was decoration.

Three types of color scales serve three types of data. Sequential scales — single hue from light to dark — encode ordered magnitude where all values are on one side of a meaningful reference point. Use these for density, count, or any variable where higher is meaningfully different from lower. Diverging scales — two hues meeting at a neutral midpoint — encode data that is bipolar: above and below zero, better and worse than average, gain and loss. The neutral center is semantically significant. Categorical scales — distinct hues — encode unordered categories that are meaningfully different from each other. Keep categorical scales to seven colors or fewer; the human perceptual system cannot reliably distinguish more than that.

Color accessibility matters practically, not just ethically. Approximately 8% of men and 0.5% of women have some form of color vision deficiency, most commonly red-green. A visualization that relies on red vs green to encode a meaningful distinction is inaccessible to a significant fraction of your audience. The fix is simple: use color as one channel among several, not the only channel. Pair color with position, shape, or direct label. A red bar that is also shorter than a green bar communicates the comparison even when the colors are indistinguishable.

Saturation and brightness carry meaning independent of hue. High saturation signals importance or emphasis. Low saturation signals secondary data or context. Using this systematically — saturated color for the series you want to highlight, desaturated color for comparison series — gives you a way to guide attention without adding text. The reader's eye goes to what is visually prominent. Make that the data that matters.

Color as decoration
Every bar a different color — carries no information
Q1
Q2
Q3
Q4
Color as signal
Accent on the data point that matters
Q1
Q2
Q3
Q4
Best quarter

Annotation Over Legend

The legend is a holdover from a time when printing constraints made it difficult to label elements directly on a chart. It is rarely the best solution. A legend asks the reader to hold a mapping in working memory — "the blue line means Product A, the dashed line means Product B" — and then re-apply that mapping every time they look at a data element. This is cognitive work that the designer has offloaded onto the reader. Direct annotation eliminates that work entirely.

Direct annotation means labeling data elements at the point of display. The line for Product A gets a label "Product A" next to its rightmost point. The peak in the trend gets a note: "Launch — March 14." The outlier gets a callout: "Hurricane impact — supply chain disrupted." Annotations turn a chart from a data display into a story. They direct attention. They provide context that would otherwise require the reader to go look up elsewhere.

The most powerful annotations are specific. "Revenue declined" is not an annotation — it is a label for what the reader can already see. "Revenue declined 31% following competitor price cut" is an annotation — it provides causal context that the data alone cannot convey. Good annotations are the equivalent of the spoken explanation you would give if you were presenting the chart in person. They answer the question the reader was about to ask.

When a legend is genuinely necessary — when there are too many series to annotate cleanly, or when the chart is too small — integrate it tightly. Place it adjacent to the data, not in a separate box. Order legend entries to match the visual order of the data (top-to-bottom for the rightmost values on a line chart, for example). Use the same visual encoding in the legend as in the chart — a color square, not a colored line, to represent a bar; a colored line segment to represent a line series.

Legend — cognitive round-trip
Reader must look up meaning of each color
2023
2024
2025
Baseline year
Growth year
Contraction year
Annotation — meaning at the point of data
No lookup needed
2023
Baseline
2024
+25% YoY
2025
−36% downturn

Honest Visualization

Data visualization can mislead without lying. The most common forms of dishonest visualization are not fabricated data — they are design choices that systematically distort how the data is perceived. Understanding them is necessary both for avoiding them in your own work and for identifying them in others'.

Truncated y-axes are the most prevalent form. A bar chart that starts at 94 instead of 0 can make a 2% difference between bars look like a 200% difference, because the visual comparison is between the visible portion of the bars, not their actual values. The rule is simple: bar charts must start at zero because the visual metaphor is bar height representing magnitude. Line charts and scatter plots have more flexibility — starting at a non-zero baseline can be appropriate when the variation within the range is the signal and the absolute magnitude is not.

Cherry-picked time ranges are subtler. A chart that shows stock performance starting from a trough will look more impressive than one starting from a peak. A chart that ends before a recent decline hides the decline. The question to ask is: is this time range defined by the data (a fiscal year, a product launch to now, a complete historical record) or by what the analyst wanted the chart to show? The second kind is misleading even if every data point is accurate.

Scale manipulation — using logarithmic scales without labeling them, using area to represent values that should be encoded as length — distorts perception in ways the reader cannot easily correct for. Dual y-axes are particularly dangerous: by choosing independent scales for two series, you can make any two datasets appear correlated or inversely correlated. The visual impression of a relationship is created by the scale choice, not by the data.

The practical cost of dishonest visualization is trust. Audiences that have been misled by charts — even once, even accidentally — apply skepticism to all subsequent charts from that source. The short-term gain of making numbers look better is paid for with long-term credibility loss. Honest visualization is not just an ethical commitment; it is a strategic one. Build the reputation that your charts mean what they show, and readers will give them weight. Destroy that reputation, and no chart you make will be taken at face value again.

Truncated y-axis — misleading
Starts at 94, exaggerates tiny differences
98 96 94
JanFebMarApr
Actual range: 94.1–97.8. Looks like massive swings.
Zero baseline — honest
Same data, accurate proportions
100 50 0
JanFebMarApr
Same data. Variation is real but modest — as it should appear.