Commit 83e3f19
authored
spec: add network-weighted specification (#3292)
## New Specification: `network-weighted`
Related to #3290
---
### specification.md
# network-weighted: Weighted Network Graph with Edge Thickness
## Description
A weighted network graph displays relationships between entities using
edge thickness to represent connection strength or weight. Unlike basic
network graphs where edges are uniform, the varying line widths
immediately communicate the relative importance of each relationship.
This visualization makes it easy to identify strong vs weak connections,
central hubs with many heavy links, and structural patterns in weighted
relational data.
## Applications
- Analyzing trade flows between countries where thicker edges represent
higher export/import volumes
- Visualizing communication patterns in organizations where edge weight
shows message frequency between teams
- Mapping collaboration networks in research where thickness indicates
number of co-authored papers
- Displaying transportation networks where edge weight represents
passenger volume or freight capacity
## Data
- `nodes` (list of dicts) - entities with unique IDs and optional labels
or group attributes
- `edges` (list of dicts/tuples) - connections as (source_id, target_id,
weight) where weight is a positive numeric value
- `weight` (numeric) - connection strength/intensity mapped to edge
thickness
- Size: 10-50 nodes for clear visualization of weighted edges without
clutter
- Example: Trade network with 15 countries where edge weights represent
billions of USD in annual trade volume
## Notes
- Edge thickness should scale proportionally but remain visually
distinguishable (avoid too thin or too thick extremes)
- Consider a legend or annotation explaining the weight scale
- Nodes can optionally be sized by weighted degree (sum of connected
edge weights)
- Use force-directed or spring layout to position nodes, allowing edge
weights to influence attraction
- Avoid edge overlap where possible to keep individual weights readable
---
**Next:** Add `approved` label to the issue to merge this PR.
---
:robot: *[spec-create
workflow](https://github.com/MarkusNeusinger/pyplots/actions/runs/20822531517)*
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>1 parent 99cbc02 commit 83e3f19
2 files changed
Lines changed: 55 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
0 commit comments