CH-COR-01 . family COR
SCATTER
scatter plot, labeled points. Needs:
entities with two numeric measures; under ~20 points if labeled.
correlationoutlier-detection
DL-01 AGRAW
DL-02 KATA
DL-03 LOGOS
DL-04 SHILPA
DL-05 OBEYA
DL-06 LEX
DL-07 SAGA
DL-08 SENTINEL
DL-09 ATLAS
DL-10 BASIRA
DL-11 SUTRA
DL-12 NOROSHI
DL-13 MIZAN
DL-14 EVIDENTIA
DL-15 ABRID
DL-16 TELOS
Use when
- how two measures relate across entities
- finding the outlier (the point the title talks about)
- up to ~20 labeled points
Do not use when
- time is one of the axes (use CH-TIM-01)
- hundreds of points (labels collapse; use CH-COR-03)
- one measure only (use CH-RNK-01)
See instead
Alternatives
- CH-COR-02 (bubble, adds a size measure)
- CH-COR-03 (XY heatmap for dense grids)
Rules
- both axes start at zero; both use the FN-05 tick algorithm
- every point labeled directly (this entry caps at ~20 points, so labels fit)
- one highlight maximum: role primary with ink label; the rest muted
- gridlines both directions, hairline zero lines
- units once per axis, on the max tick
Never do this
- trend lines without stating the fit (no silent regressions)
- color-coded groups without direct labels
- log scales without declaring them
- point clouds too dense to label (wrong entry)
QA before delivering
- both axes at zero with algorithmic ticks
- every point labeled
- highlight count <= 1
- units once per axis
- title names the outlier or relationship with numbers
- source line present bottom-left
Data shape
| title | string, action title naming the outlier or the relationship with numbers |
| eyebrow | string caps, rendered only when the DL chrome asks for it |
| source | string, rendered bottom-left, always |
| unit_x | string appended to the max x tick |
| unit_y | string appended to the max y tick |
| points | array of {label, x >= 0, y >= 0, highlight?}, one highlight max |
Sample data (golden)
{
"title": "System D pairs 41% progress with 63 open punch items",
"eyebrow": "READINESS . WEEK 28",
"source": "Source: sample dataset v1, 2026-07-12",
"unit_x": "%",
"unit_y": "",
"points": [
{
"label": "A",
"x": 92,
"y": 12
},
{
"label": "B",
"x": 88,
"y": 18
},
{
"label": "C",
"x": 74,
"y": 25
},
{
"label": "D",
"x": 41,
"y": 63,
"highlight": true
},
{
"label": "E",
"x": 66,
"y": 31
},
{
"label": "F",
"x": 80,
"y": 22
},
{
"label": "G",
"x": 58,
"y": 38
},
{
"label": "H",
"x": 70,
"y": 26
}
]
}