This entry is part of the Chart Index, the reference library for the Chart Design Field Guide.

A grouped bar chart is the bar chart's answer to two categorical variables. Each group along the x-axis is a primary category; within each group, several bars side-by-side encode a secondary category. The reader's eye compares within groups (which series is largest in this quarter?) and across groups (how did each series change between quarters?). The form is workmanlike, dense, and one of the most-abused in business reporting.

The abuse follows a pattern. Too many groups, too many series per group, no visual hierarchy, a legend forcing constant lookups. The cure is the same as for any bar chart: limit, sort, direct-label, and quiet the chartjunk. The grouped bar is a faithful tool when used with restraint.

What it is

A grouped bar chart maps a primary categorical variable to position along the x-axis and a secondary categorical variable to a set of bars within each group. The quantitative variable is encoded as bar length. Within each group the bars share a baseline; across groups, the baselines align — so length comparison works both within and between groups.

Defect rate by line and shiftFY 2025 · defects per 10,000 units · grouped

Five production lines, three shifts. The grouped layout makes the shift effect (night > afternoon > morning) immediately visible within every line, and lets the reader compare the absolute defect rates across lines.

When to use it

Grouped bars are the right choice when:

  • You have two categorical variables and one quantitative variable.
  • The reader needs to compare both within groups and across groupswhich series is largest here? and how does this group compare to that one?
  • You have fewer than ~6 groups and fewer than ~4 series per group. The product of these is the bar count; keep it under 24.
  • The categorical variables are nominal or ordinal — not continuous.
  • You want absolute values, not parts of a whole. For composition, use stacked bars.

When not to use it

  • Too many series per group. Five or six bars per group, repeated across six groups, becomes a wall. Use a heatmap or small multiples.
  • Composition is the message. If readers want to know what proportion of each group comes from each series, stack the bars or use a 100% stacked form.
  • The within-group differences are small. When bars within a group are nearly the same height, grouping makes them harder to read. A dot plot is more sensitive to small differences.
  • Time on the x-axis with many points. A grouped bar of 12 months × 4 series is 48 bars. Use a multi-line chart.

Design principles

Limit the bar count

The total number of bars (groups × series) is the legibility constraint. Twenty-four is the upper bound. Above that, the chart needs to be split into small multiples or rethought.

Sort by total when the order is free

If groups have no inherent order, sort by the total height (or by the leading series). The chart becomes a ranked comparison rather than a random scatter.

Order series consistently within every group

Within every group, the bars should sit in the same order — Morning, Afternoon, Night, every time. The reader builds a mental template for one group and applies it to the others. Random or alphabetical ordering breaks this.

Grouped vs. stacked — same data, different question
GROUPED — COMPARE SERIES WITHIN GROUPL1L2L3L4STACKED — COMPARE GROUP TOTALSL1L2L3L4
Grouped foregrounds series comparison; stacked foregrounds group totals. The choice depends on what the reader needs to answer.

Pad between groups, not within

The gap between bars within a group should be near zero; the gap between groups should be larger. This visual rhythm tells the eye where one group ends and the next begins, without needing a separating line or label box.

Direct-label the lead series

Place the value at the top of each bar in the first group only — the reader infers the encoding and reads the rest without the noise of labels on every bar. Few's reduction-of-lookup principle, applied to labels themselves.

Quiet the colour palette

For three to four series, use a desaturated categorical palette. Saturated rainbow palettes make the chart loud at a structural level — every bar competes for attention. The structural insight comes from comparison, and comparison needs visual quiet.

Highlight the comparison that matters

If one series is the story (defect rates by shift, with Night being the concern), give it the accent colour and let the others recede to grey. The reader's eye goes to the highlighted series and the comparison reveals itself.

Anatomy

The Composition of a Grouped Bar Chart
Line ALine BLine CLine DLine EMORNINGAFTERNOONNIGHTGROUP LABELSERIES ORDER CONSISTENTTIGHT WITHIN-GROUP PADDING
An anatomical guide

A grouped bar chart is structurally a bar chart with an additional categorical dimension. Every principle of clean bar-chart design applies; the new design decision is how to space, order, and colour the within-group bars.

  • Stacked bar — same two categorical variables, different question. Total per group instead of comparison within group.
  • Dot plot — replaces bars with dots, freeing visual weight. Better when within-group differences are small.
  • Slope chart — for two groups (often two time points). More compact and direction-focused than a grouped bar with two bars.
  • Small multiples of bar charts — one panel per series. Better when comparison across groups, within a single series is the primary task.
  • Heatmap — for the same two-categorical, one-quantitative structure when there are many groups and series. Trades precision for density.

Reading list

  • Cleveland, W. (1993). Visualizing Data. On the perceptual basis of bar chart design.
  • Few, S. (2012). Show Me the Numbers. The treatment of grouped vs. stacked decisions.
  • Heer, J., Kong, N. & Agrawala, M. (2009). Sizing the Horizon. Comparative studies of multi-series chart forms.