Distribution

Beeswarm / swarm plot

Offsets observations perpendicular to their value axis to avoid collisions.

  • Plot
  • Distribution
  • Comparison

What it answers

Where do observations cluster without hiding duplicates?

Shape
Non-overlapping clusters of points
What it shows
Repeated values, gaps and local concentration.

Example

The question

How are customer ratings spread for each app version?

Average rating per customer by app version, one dot per customer (beeswarm, illustrative)

Average rating per customer by app version, one dot per customer (beeswarm, illustrative)Dots are packed side by side so none overlap; wider clusters mean more customers at that rating. Ratings rise from about 3.4 in version 1 to 4.3 in version 3.Average rating (1 to 5)12345Version 1Version 2Version 3
Average rating per customer by app version, one dot per customer (beeswarm, illustrative)Dots are packed side by side so none overlap; wider clusters mean more customers at that rating. Ratings rise from about 3.4 in version 1 to 4.3 in version 3.Average rating (1 to 5)12345Version 1Version 2Version 3
Dots are packed side by side so none overlap; wider clusters mean more customers at that rating. Ratings rise from about 3.4 in version 1 to 4.3 in version 3.

Illustrative data. It belongs to no company.

When to use it

Use it when

Moderate raw samples where each point matters.

Avoid it when

Huge datasets or narrow space that produces excessive lateral spread.

How to read it

Read values on the measurement axis; lateral packing separates collisions.

The data you need

Layout
Long table
Fields
Group: text; Value: number
One row is
One raw observation belonging to a group. What is the grain?
Rules
Retain individual observations and group labels. State weighting and missing-data rules.
Optional
For box plots only, some tools accept Group,Q1,Median,Q3,WhiskerLow,WhiskerHigh plus separate outliers. Other distributions usually need raw data.
Preparation
Keep raw numeric observations, group them if needed and handle missingness explicitly. Choose bins, bandwidth or summary conventions as appropriate to this specific plot.
Units
The measurement axis retains its original unit. Frequency uses observations; normalised frequency divides by group sample size; density also depends on interval width.
Example of the input layout: Long tableA long table: one row per observation, few columns. New data adds rows.GroupValueAABBC
A long table: one row per observation, few columns. New data adds rows.

Worked example

Values 10,12,12,18,23. Swarm the two 12 s next to each other. Both observations stay visible.

GroupValue
A10
A12
A18
B11
B23