Skip to content

Commit d8119f8

Browse files
spec: add network-hierarchical specification (#3349)
## New Specification: `network-hierarchical` Related to #3343 --- ### specification.md # network-hierarchical: Hierarchical Network Graph with Tree Layout ## Description A hierarchical network graph organizes nodes in distinct levels from root to leaves, with edges showing parent-child relationships between levels. Unlike force-directed layouts that optimize for aesthetic spacing, hierarchical layouts explicitly encode tree structure by positioning nodes at fixed vertical or horizontal levels. This visualization reveals organizational depth, branching patterns, and the overall tree structure at a glance. ## Applications - Visualizing organizational charts showing reporting relationships from executives to individual contributors - Displaying file system or directory structures with folders and subfolders organized by depth - Mapping software class hierarchies showing inheritance relationships from base to derived classes - Illustrating decision trees or classification hierarchies with clear branching paths ## Data - `nodes` (list of dicts) - entities with unique IDs, labels, and optional level or parent attributes - `edges` (list of tuples) - parent-child connections as (parent_id, child_id) pairs - `level` (integer, optional) - explicit level assignment for each node (0 = root) - Size: 10-50 nodes for readable static visualization - Example: A small organizational chart with 30 employees across 4 management levels ## Notes - Use tree or hierarchical layout algorithms (e.g., NetworkX's graphviz_layout with 'dot') - Root nodes should be positioned at the top (or left for horizontal layouts) - Edges should be straight or curved lines without arrows unless direction needs emphasis - Consider edge bundling for trees with many nodes to reduce visual clutter - Node spacing should be proportional to prevent overlap at crowded levels --- **Next:** Add `approved` label to the issue to merge this PR. --- :robot: *[spec-create workflow](https://github.com/MarkusNeusinger/pyplots/actions/runs/20832697874)* Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 parent 7879d79 commit d8119f8

2 files changed

Lines changed: 56 additions & 0 deletions

File tree

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# network-hierarchical: Hierarchical Network Graph with Tree Layout
2+
3+
## Description
4+
5+
A hierarchical network graph organizes nodes in distinct levels from root to leaves, with edges showing parent-child relationships between levels. Unlike force-directed layouts that optimize for aesthetic spacing, hierarchical layouts explicitly encode tree structure by positioning nodes at fixed vertical or horizontal levels. This visualization reveals organizational depth, branching patterns, and the overall tree structure at a glance.
6+
7+
## Applications
8+
9+
- Visualizing organizational charts showing reporting relationships from executives to individual contributors
10+
- Displaying file system or directory structures with folders and subfolders organized by depth
11+
- Mapping software class hierarchies showing inheritance relationships from base to derived classes
12+
- Illustrating decision trees or classification hierarchies with clear branching paths
13+
14+
## Data
15+
16+
- `nodes` (list of dicts) - entities with unique IDs, labels, and optional level or parent attributes
17+
- `edges` (list of tuples) - parent-child connections as (parent_id, child_id) pairs
18+
- `level` (integer, optional) - explicit level assignment for each node (0 = root)
19+
- Size: 10-50 nodes for readable static visualization
20+
- Example: A small organizational chart with 30 employees across 4 management levels
21+
22+
## Notes
23+
24+
- Use tree or hierarchical layout algorithms (e.g., NetworkX's graphviz_layout with 'dot')
25+
- Root nodes should be positioned at the top (or left for horizontal layouts)
26+
- Edges should be straight or curved lines without arrows unless direction needs emphasis
27+
- Consider edge bundling for trees with many nodes to reduce visual clutter
28+
- Node spacing should be proportional to prevent overlap at crowded levels
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Specification-level metadata for network-hierarchical
2+
# Auto-synced to PostgreSQL on push to main
3+
4+
spec_id: network-hierarchical
5+
title: Hierarchical Network Graph with Tree Layout
6+
7+
# Specification tracking
8+
created: 2026-01-08T21:42:01Z
9+
updated: null
10+
issue: 3343
11+
suggested: MarkusNeusinger
12+
13+
# Classification tags (applies to all library implementations)
14+
# See docs/reference/tagging-system.md for detailed guidelines
15+
tags:
16+
plot_type:
17+
- network
18+
- tree
19+
data_type:
20+
- hierarchical
21+
- relational
22+
domain:
23+
- general
24+
- business
25+
- technology
26+
features:
27+
- basic
28+
- hierarchical

0 commit comments

Comments
 (0)