Charts / CH-COR-05
CH-COR-05 . family COR

HEXBIN

hexagonal bins colored by point count. Needs: 50+ x,y points, too many for honest individual dots.

correlationdensity

DL-01 AGRAW
Delays cluster in two regimes, not one 0 20 40 60 80 items 0 20 40 60 80 days 1 3 6 Source: sample dataset v1, 2026-07-12

Use when

  • hundreds of points where overplotting hides the density
  • finding regimes and clusters in a relationship

Do not use when

  • few points (bins hide what dots would show)
  • reading individual items (bins have no identity)

See instead

Alternatives

  • CH-COR-01 (few enough points to draw raw)
  • CH-COR-03 (categorical axes)

Rules

  • binning is the published deterministic algorithm: axial rounding on pointy-top hexes
  • color ramp is the deterministic background-to-high mix
  • the count key (min, mid, max) is the one permitted key
  • both axes zero-based

Never do this

  • rainbow density ramps
  • smoothed density contours sold as data
  • hexbins for tiny datasets

QA before delivering

  • >= 50 points
  • count key present
  • deterministic binning
  • source present

Data shape

titleaction title naming the cluster
sourcebottom-left always
unit_xx axis unit
unit_yy axis unit
points[{x, y}], 50+, all >= 0
Sample data (golden)
{
  "title": "Delays cluster in two regimes, not one",
  "eyebrow": "DELAY VS BACKLOG . 120 LOTS",
  "source": "Source: sample dataset v1, 2026-07-12",
  "unit_x": " days",
  "unit_y": " items",
  "points": [
    {
      "x": 18,
      "y": 35
    },
    {
      "x": 18,
      "y": 27
    },
    {
      "x": 13,
      "y": 28
    },
    {
      "x": 28,
      "y": 34
    },
    {
      "x": 27,
      "y": 32
    },
    {
      "x": 23,
      "y": 32
    },
    {
      "x": 8,
      "y": 38
    },
    {
      "x": 24,
      "y": 34
    },
    {
      "x": 8,
      "y": 14
    },
    {
      "x": 14,
      "y": 26
    },
    {
      "x": 22,
      "y": 30
    },
    {
      "x": 24,
      "y": 24
    },
    {
      "x": 22,
      "y": 34
    },
    {
      "x": 15,
      "y": 45
    },
    {
      "x": 24,
      "y": 41
    },
    {
      "x": 16,
      "y": 23
    },
    {
      "x": 18,
      "y": 29
    },
    {
      "x": 24,
      "y": 32
    },
    {
      "x": 17,
      "y": 21
    },
    {
      "x": 16,
      "y": 41
    },
    {
      "x": 14,
      "y": 32
    },
    {
      "x": 23,
      "y": 17
    },
    {
      "x": 20,
      "y": 42
    },
    {
      "x": 6,
      "y": 27
    },
    {
      "x": 19,
      "y": 23
    },
    {
      "x": 23,
      "y": 29
    },
    {
      "x": 10,
      "y": 37
    },
    {
      "x": 25,
      "y": 39
    },
    {
      "x": 30,
      "y": 33
    },
    {
      "x": 21,
      "y": 18
    },
    {
      "x": 24,
      "y": 24
    },
    {
      "x": 17,
      "y": 19
    },
    {
      "x": 13,
      "y": 25
    },
    {
      "x": 29,
      "y": 12
    },
    {
      "x": 10,
      "y": 32
    },
    {
      "x": 30,
      "y": 35
    },
    {
      "x": 7,
      "y": 7
    },
    {
      "x": 23,
      "y": 23
    },
    {
      "x": 12,
      "y": 39
    },
    {
      "x": 28,
      "y": 31
    },
    {
      "x": 22,
      "y": 34
    },
    {
      "x": 31,
      "y": 36
    },
    {
      "x": 24,
      "y": 35
    },
    {
      "x": 9,
      "y": 42
    },
    {
      "x": 27,
      "y": 35
    },
    {
      "x": 6,
      "y": 24
    },
    {
      "x": 26,
      "y": 14
    },
    {
      "x": 19,
      "y": 39
    },
    {
      "x": 11,
      "y": 44
    },
    {
      "x": 24,
      "y": 29
    },
    {
      "x": 22,
      "y": 36
    },
    {
      "x": 21,
      "y": 40
    },
    {
      "x": 15,
      "y": 26
    },
    {
      "x": 27,
      "y": 30
    },
    {
      "x": 14,
      "y": 39
    },
    {
      "x": 30,
      "y": 26
    },
    {
      "x": 10,
      "y": 29
    },
    {
      "x": 19,
      "y": 27
    },
    {
      "x": 30,
      "y": 21
    },
    {
      "x": 29,
      "y": 19
    },
    {
      "x": 14,
      "y": 36
    },
    {
      "x": 28,
      "y": 38
    },
    {
      "x": 22,
      "y": 31
    },
    {
      "x": 21,
      "y": 35
    },
    {
      "x": 19,
      "y": 32
    },
    {
      "x": 24,
      "y": 30
    },
    {
      "x": 25,
      "y": 35
    },
    {
      "x": 34,
      "y": 33
    },
    {
      "x": 17,
      "y": 27
    },
    {
      "x": 20,
      "y": 38
    },
    {
      "x": 52,
      "y": 64
    },
    {
      "x": 70,
      "y": 34
    },
    {
      "x": 46,
      "y": 62
    },
    {
      "x": 58,
      "y": 62
    },
    {
      "x": 52,
      "y": 67
    },
    {
      "x": 57,
      "y": 55
    },
    {
      "x": 74,
      "y": 64
    },
    {
      "x": 51,
      "y": 59
    },
    {
      "x": 53,
      "y": 59
    },
    {
      "x": 33,
      "y": 55
    },
    {
      "x": 63,
      "y": 48
    },
    {
      "x": 54,
      "y": 70
    },
    {
      "x": 62,
      "y": 75
    },
    {
      "x": 41,
      "y": 56
    },
    {
      "x": 52,
      "y": 66
    },
    {
      "x": 64,
      "y": 33
    },
    {
      "x": 64,
      "y": 46
    },
    {
      "x": 60,
      "y": 45
    },
    {
      "x": 56,
      "y": 72
    },
    {
      "x": 54,
      "y": 62
    },
    {
      "x": 61,
      "y": 61
    },
    {
      "x": 54,
      "y": 75
    },
    {
      "x": 63,
      "y": 57
    },
    {
      "x": 77,
      "y": 49
    },
    {
      "x": 62,
      "y": 57
    },
    {
      "x": 56,
      "y": 67
    },
    {
      "x": 57,
      "y": 66
    },
    {
      "x": 43,
      "y": 45
    },
    {
      "x": 60,
      "y": 50
    },
    {
      "x": 47,
      "y": 45
    },
    {
      "x": 65,
      "y": 67
    },
    {
      "x": 67,
      "y": 51
    },
    {
      "x": 55,
      "y": 49
    },
    {
      "x": 61,
      "y": 76
    },
    {
      "x": 48,
      "y": 76
    },
    {
      "x": 63,
      "y": 58
    },
    {
      "x": 39,
      "y": 74
    },
    {
      "x": 54,
      "y": 54
    },
    {
      "x": 58,
      "y": 64
    },
    {
      "x": 67,
      "y": 50
    },
    {
      "x": 64,
      "y": 75
    },
    {
      "x": 67,
      "y": 58
    },
    {
      "x": 49,
      "y": 70
    },
    {
      "x": 56,
      "y": 61
    },
    {
      "x": 66,
      "y": 57
    },
    {
      "x": 37,
      "y": 56
    },
    {
      "x": 40,
      "y": 68
    },
    {
      "x": 58,
      "y": 54
    },
    {
      "x": 55,
      "y": 68
    },
    {
      "x": 56,
      "y": 73
    }
  ]
}