HAHS.
Back to Catalog

Cleveland Dot Plot

chart

Also known as: dot plot, point chart, Cleveland chart

CompareShow ranking CategoricalNumerical Point/Dot

Description

The Cleveland dot plot, introduced by William Cleveland in the 1984 landmark paper on graphical perception, replaces the bars of a bar chart with simple dots positioned along a quantitative axis. Each dot’s position encodes the value for one category, and a reference line or grid helps the eye travel from the dot to the axis. The result is a clean, high data-ink ratio visualization that draws attention to the data values rather than to the visual weight of filled rectangles.

Cleveland’s research demonstrated that humans judge position along a common scale more accurately than length, area, or color. By stripping the bar chart down to its essential positional encoding, the dot plot eliminates unnecessary ink while preserving — and in some cases improving — perceptual accuracy. This makes it especially effective for comparing many categories or for showing small differences between values that might be hard to distinguish with bars.

Dot plots are particularly powerful in their two-group variant, where two dots per row (connected by a line) show the difference between conditions, such as before/after, male/female, or 2020/2025. This “dumbbell” layout makes pairwise comparison immediate and intuitive.

Cleveland Dot Plot — interactive example

When to Use

  • Comparing values across many categories (10-50+), where bar charts would feel heavy
  • Emphasizing precise position rather than magnitude or area
  • Showing rankings in a clean, minimal layout
  • Displaying paired comparisons (before/after, two groups) with the dumbbell variant
  • When you want a higher data-ink ratio than a bar chart

When NOT to Use

  • When audiences are unfamiliar with the form and a bar chart would be immediately understood
  • For showing parts of a whole — use a stacked bar chart or pie chart
  • When values are all very close and the dot positions overlap — consider jittering or a different chart
  • For time series data — use a line graph to show temporal continuity

Anatomy

  • Dots: Circular marks, one per category, positioned along the quantitative axis to encode value.
  • Category axis: The axis listing discrete categories, typically vertical so labels read naturally.
  • Value axis: The quantitative axis (horizontal in the common layout) with a numeric scale.
  • Reference lines (grid): Faint horizontal or vertical lines extending from each category label to help connect dots to values.
  • Connector lines (dumbbell variant): Lines joining two dots per category for paired comparisons.
  • Labels: Category names on the category axis; optional data labels adjacent to each dot.

Variations

  • Dumbbell dot plot: Two dots per category connected by a line, showing the gap between two groups or time periods.
  • Multi-series dot plot: Multiple dots per category in different colors, replacing grouped bar charts.
  • Lollipop chart: A hybrid adding a thin line from a baseline to the dot, combining bar chart baseline anchoring with dot plot minimalism.
  • Strip plot: Dots along a quantitative axis without categories, used for small univariate distributions.
  • Wilkinson dot plot: Stacked dots for showing frequency distributions, where each dot represents one observation.

Code Reference

// Observable Plot - Cleveland dot plot
Plot.plot({
  marks: [
    Plot.dotX(data, {
      x: "value",
      y: "category",
      fill: "#6366f1",
      r: 5,
      tip: true
    }),
    Plot.ruleX([0])
  ],
  y: { label: null },
  x: { label: "Value" },
  marginLeft: 120
})