Charts /
CH-FLO-03
CH-FLO-03 . family FLO
NETWORK
nodes at supplied positions, edges weighted by strength. Needs: nodes [{id, at, value}] + edges [{a, b, weight}]; positions are data.
flowpatterncorrelation
Use when
- dependency and connection structures: who touches whom
- hub-and-spoke risk: the node everything routes through
Do not use when
- force-directed layouts (renderer randomness breaks determinism)
- more than ~15 nodes (structure drowns)
See instead
Alternatives
- CH-FLO-02 (directional volumes)
- CH-TAB-02 (exact adjacency)
Rules
- positions are SUPPLIED: layout is authored once, rendered forever
- node AREA encodes value; edge width encodes weight
- every node labeled with id and value
Never do this
- force-directed or random layouts
- unlabeled nodes
- edge crossings read as meaning
QA before delivering
- supplied positions only
- area-true nodes
- highlight <= 1
- source present
Data shape
| title | action title naming the hub |
| source | bottom-left always |
| unit | node size unit |
| note | coordinates are author-supplied unit-square (0-100) geometry; the renderer scales, the author owns projection and aspect |
| nodes | [{id, at: [x,y], value, highlight?}] |
| edges | [{a, b, weight}] |
Sample data (golden)
{
"title": "System D touches six of seven systems",
"eyebrow": "INTERFACE MAP",
"source": "Source: sample dataset v1, 2026-07-12",
"unit": "interfaces",
"nodes": [
{
"id": "D",
"at": [
50,
45
],
"value": 24,
"highlight": true
},
{
"id": "A",
"at": [
20,
20
],
"value": 10
},
{
"id": "B",
"at": [
75,
15
],
"value": 12
},
{
"id": "C",
"at": [
85,
55
],
"value": 8
},
{
"id": "E",
"at": [
70,
85
],
"value": 9
},
{
"id": "F",
"at": [
25,
80
],
"value": 7
},
{
"id": "G",
"at": [
10,
50
],
"value": 5
}
],
"edges": [
{
"a": "D",
"b": "A",
"weight": 4
},
{
"a": "D",
"b": "B",
"weight": 6
},
{
"a": "D",
"b": "C",
"weight": 3
},
{
"a": "D",
"b": "E",
"weight": 5
},
{
"a": "D",
"b": "F",
"weight": 2
},
{
"a": "D",
"b": "G",
"weight": 2
},
{
"a": "A",
"b": "B",
"weight": 2
},
{
"a": "C",
"b": "E",
"weight": 1
},
{
"a": "E",
"b": "F",
"weight": 1
}
]
}