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)
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.
Worked example
Values 10,12,12,18,23. Swarm the two 12 s next to each other. Both observations stay visible.
| Group | Value |
|---|---|
| A | 10 |
| A | 12 |
| A | 18 |
| B | 11 |
| B | 23 |
