The Legend Is a Last Resort

A legend requires the reader to do a lookup — see color, find color in legend, read label, return to chart — for every data point they want to understand. That’s a round trip. In a chart with twelve data series, it’s twelve round trips.

Direct labeling eliminates the round trip entirely. The label is next to the thing it describes. The eye doesn’t have to travel.

When legends make sense

There are cases where legends are the right call. Dense small-multiple grids, where labeling each panel would create noise. Maps with many categories and limited space. Sparklines. Situations where the category names would physically overlap the data no matter where you placed them.

But these are real constraints, not defaults. Most charts that use legends don’t have those constraints. They use legends because the charting tool defaults to one, and nobody questioned it.

The design work direct labeling requires

Direct labeling is harder to implement than a legend, which is part of why it’s underused. You have to decide where the labels live — typically at the end of a line, or at the largest/most recent data point. You have to handle overlapping labels. You may need to abbreviate.

That friction is doing design work. It forces you to think about which series matter and how much space each deserves. A chart that’s too crowded to label directly is often too crowded, full stop.

The rule

Use a legend only when direct labeling would genuinely make the chart harder to read. In every other case, move the label to the data.