Charts / CH-DST-07
CH-DST-07 . family DST

BEESWARM

one dot per item packed without overlap along a value axis. Needs: one pooled group of up to ~60 items, each individually meaningful.

distributionoutlier-detection

DL-01 AGRAW
One lot sits at 62 days, twice the next slowest Lot 88 62 days 0 20 40 60 80days Source: customs log, wk 28

Use when

  • every item matters and outliers deserve a name
  • one pooled distribution where density and gaps are the story

Do not use when

  • more than ~60 items (CH-DST-01)
  • several categories compared (CH-DST-03)

See instead

Alternatives

  • CH-DST-03 (values split by category)
  • CH-DST-01 (larger samples)

Rules

  • deterministic packing: values sorted, first free lane out from the
  • center; no random jitter, ever
  • the highlight dot is labeled with name and value; nothing else is
  • zero-based value axis below the swarm

Never do this

  • random jitter
  • labeling every dot
  • sized dots (use CH-COR-02)
  • more than ~60 points

QA before delivering

  • packing deterministic
  • highlight <= 1 and labeled
  • zero-based axis
  • unit once
  • source present

Data shape

titleaction title naming the outlier
sourcebottom-left always
uniton the top axis tick and the highlight label
pointsarray of {label, value, highlight?}
Sample data (golden)
{
  "title": "One lot sits at 62 days, twice the next slowest",
  "eyebrow": "OPEN LOTS",
  "source": "Source: customs log, wk 28",
  "unit": "days",
  "points": [
    {
      "label": "Lot 12",
      "value": 6
    },
    {
      "label": "Lot 31",
      "value": 7
    },
    {
      "label": "Lot 07",
      "value": 8
    },
    {
      "label": "Lot 44",
      "value": 9
    },
    {
      "label": "Lot 19",
      "value": 9
    },
    {
      "label": "Lot 23",
      "value": 10
    },
    {
      "label": "Lot 51",
      "value": 11
    },
    {
      "label": "Lot 03",
      "value": 12
    },
    {
      "label": "Lot 28",
      "value": 12
    },
    {
      "label": "Lot 36",
      "value": 13
    },
    {
      "label": "Lot 15",
      "value": 14
    },
    {
      "label": "Lot 40",
      "value": 15
    },
    {
      "label": "Lot 22",
      "value": 15
    },
    {
      "label": "Lot 09",
      "value": 16
    },
    {
      "label": "Lot 47",
      "value": 17
    },
    {
      "label": "Lot 33",
      "value": 18
    },
    {
      "label": "Lot 26",
      "value": 19
    },
    {
      "label": "Lot 11",
      "value": 21
    },
    {
      "label": "Lot 38",
      "value": 22
    },
    {
      "label": "Lot 05",
      "value": 24
    },
    {
      "label": "Lot 42",
      "value": 26
    },
    {
      "label": "Lot 17",
      "value": 29
    },
    {
      "label": "Lot 55",
      "value": 33
    },
    {
      "label": "Lot 61",
      "value": 48
    },
    {
      "label": "Lot 88",
      "value": 62,
      "highlight": true
    }
  ]
}