Write chart titles that state the takeaway, label data directly instead of using legends, format axes and numbers clearly, and add notes and source lines.
By DataVisuals TeamUpdated 5 min read
Words do as much work in a chart as the marks. Put the main finding in the title, put the description of the data in a subtitle, and name each series right next to its line or bar so nobody has to look at a legend. Give every number its unit, round it to what the reader needs, and add a short note wherever something in the chart would otherwise raise a question. End with a source line.
That sounds like a lot of text, but most of it replaces something. Direct labels replace the legend. A unit in the subtitle replaces a rotated axis title. A labeled bar replaces the gridline the reader would have traced to read its value.
Titles that state the takeaway
A descriptive title like "Weekly signups, 2026" tells the reader what the chart contains. A takeaway title like "Signups doubled after the free plan launched" tells them what it shows. The second one is more useful, because readers who only glance at the chart (most of them) still leave with the point, and readers who look closely know what to check.
Fig. 1 The title states the finding, the subtitle describes the data, a short note explains the turning point, and a source line closes the chart.
Write the takeaway as a plain sentence with a verb, and keep it true to what the chart shows. "Signups doubled" works if they did. "Free plan is a huge success" claims more than a signup chart can prove. If you aren't sure what the takeaway is, that's a sign the chart isn't finished, and the data storytelling guide can help you find it.
Put the factual description in a subtitle directly under the title: what is measured, for whom, over what period, and in what unit. "Weekly signups, first 26 weeks of the year" covers it.
Direct labels instead of legends
A legend makes the reader look away from the data, find a color, remember it, and look back. With three or more series, they do this over and over. Labeling each line at its end, or each bar segment inside it, removes the round trip.
Fig. 2 Average monthly highs in three cities. With direct labels the city names sit where the eye already is, so the legend can go.
Place line labels at the right end, where the most recent value is, and nudge them apart if two lines end close together. Color the label text to match the line if the color has enough contrast, or keep it dark and let position do the work. For bar charts, put the category name on the axis and the value at the end of the bar.
Legends still make sense in a few cases: when lines cross so much that end labels would pile up, in a heatmap where the legend is the color scale itself, or across small multiples that share one color mapping.
Axis labels and units
Every value needs a unit somewhere. The cleanest place is often the subtitle ("in thousands of dollars") or the top tick label ("$60k"), rather than a rotated title running up the y-axis that readers have to tilt their heads to read.
Use as few tick labels as you need to judge the scale. Three to five on a value axis is usually enough. On a time axis, label the start, the end and a few regular points between, such as every quarter or every January. Don't label every day.
Don't make the reader do arithmetic. If the story is the change, plot the change. If the values are percentages, show the percent sign on at least the first or top tick. If the axis doesn't start at zero (fine for a line chart, never for a bar chart), make sure the lowest tick is clearly labeled.
Number formatting
Round numbers to the precision the reader needs, which is almost always less than the data has. Revenue of $4,213,877.42 becomes $4.2M in a chart. A conversion rate of 3.4172% becomes 3.4%. Extra digits look precise but slow everyone down.
Raw value
In a chart
Why
4213877.42
$4.2M
Two significant figures are enough to compare
0.034172
3.4%
Percent with one decimal for small rates
12500
12,500 or 12.5k
Thousands separator, or a short suffix
1.0 and 2.5
1.0 and 2.5
Same decimals across a set
-7.2
-7.2% or "down 7.2%"
Signs or words make direction explicit
Keep the number of decimals consistent within a chart. A column of labels reading 12, 8.5, 10.25 looks messy and implies different precision for each. Use the thousands separator your audience expects (a comma in the US), and pick one style for abbreviations (k, M, B) and stick to it.
Annotations that explain
An annotation is a short note on the chart itself that answers the question a reader would ask next. Why does the line jump in week 12? Why is April so low? What is that dashed line?
Good annotations are brief, sit close to the thing they explain, and say something the chart can't say alone: "Free plan launches", "Site outage, 3 days", "Target: 500". A thin leader line or a vertical dashed rule can connect the note to the exact point. One to three notes per chart is plenty. Past that, the notes compete with the data.
Annotations are also where you head off misreadings. If a dip is caused by a change in how something was counted, say so on the chart. Readers who see an unexplained drop will invent their own explanation, and it will usually be wrong.
Source lines and notes
Close every chart that leaves your hands with a source line in small text: where the data came from and, where it helps, when it was pulled. "Source: signup logs, pulled Monday" or "Source: national weather service, 1991-2020 averages". If the numbers were adjusted, filtered or estimated, add a one-line note about how. "Excludes test accounts" is the kind of detail that saves a long email thread later.
The source line also protects the chart when it gets copied into a slide deck or screenshot without the surrounding text, which happens to most useful charts eventually.
Text that doesn't belong
Some labels add noise. Cut repeated words in tick labels ("2024 Q1, 2024 Q2, 2024 Q3" can be "Q1 2024, Q2, Q3"). Cut axis titles that only repeat the subtitle. Remove value labels on every point of a dense line, and label just the points you discuss. Keep fonts at one or two sizes and one or two weights, with the title largest and the source smallest. Skip all-caps for anything longer than a short label. It's harder to read, and it shouts.
For color choices for highlights and labels, see using color in charts. For making text readable by everyone, including screen reader users, see accessible charts.
Questions
Should a chart title describe the data or state the conclusion?
For a report, slide or article, state the conclusion and put the description in a smaller subtitle. For an exploratory dashboard where the reader brings their own question, a descriptive title is fine because there is no single conclusion to state.
When is a legend better than direct labels?
When lines cross so often that end labels would collide, or in a set of small multiples that all use the same colors, where one shared legend saves repeating labels in every panel. In most single charts with a few series, direct labels are easier to read.
Do I need to label both axes?
Label any axis whose meaning or unit is not obvious. A time axis showing months rarely needs a title. A value axis almost always needs its unit, which can go in the subtitle instead of a rotated axis title.