# Diagram Design Visual Types: Complete Guide to All 27 Supported Diagram Types

> Explore all 27 visual diagram types supported by Diagram Design. Discover specialized rendering rules and layout engines for each type. Learn more now.

- Repository: [Cathryn Lavery/diagram-design](https://github.com/cathrynlavery/diagram-design)
- Tags: getting-started
- Published: 2026-08-16

---

**Diagram Design supports exactly 27 distinct visual diagram types, each defined in dedicated reference files under `skills/diagram-design/references/` with specialized rendering rules and layout engines.**

The Diagram Design library (maintained by `cathrynlavery/diagram-design`) provides a comprehensive taxonomy of diagram types for technical documentation, system architecture, and data visualization. Every type ships with its own reference specification that governs layout constraints, connector primitives, and styling defaults—ensuring consistent output across HTML, PNG, and interactive exports.

## Complete List of All 27 Diagram Design Visual Types

The 27 diagram types span six functional categories: classic charting, hierarchical structures, process workflows, state-based visualizations, specialized layouts, and enterprise architecture patterns.

### Classic Charting Types

| # | Diagram Type | Reference File | Primary Use Case |

|---|-------------|----------------|------------------|
| 1 | **Bar** | [`type-bar.md`](https://github.com/cathrynlavery/diagram-design/blob/main/type-bar.md) | Categorical data comparison |
| 2 | **Line** | [`type-line.md`](https://github.com/cathrynlavery/diagram-design/blob/main/type-line.md) | Trend analysis over time |
| 3 | **Scatter** | [`type-scatter.md`](https://github.com/cathrynlavery/diagram-design/blob/main/type-scatter.md) | Correlation and distribution analysis |
| 4 | **Radar** | [`type-radar.md`](https://github.com/cathrynlavery/diagram-design/blob/main/type-radar.md) | Multi-variable performance metrics |
| 5 | **Pyramid** | [`type-pyramid.md`](https://github.com/cathrynlavery/diagram-design/blob/main/type-pyramid.md) | Hierarchical proportions (e.g., Maslow's hierarchy, food chain) |
| 6 | **Quadrant** | [`type-quadrant.md`](https://github.com/cathrynlavery/diagram-design/blob/main/type-quadrant.md) | Two-axis positioning matrices (e.g., Gartner Magic Quadrant) |

### Hierarchical and Structural Types

| # | Diagram Type | Reference File | Primary Use Case |

|---|-------------|----------------|------------------|
| 7 | **Tree** | [`type-tree.md`](https://github.com/cathrynlavery/diagram-design/blob/main/type-tree.md) | Parent-child node relationships |
| 8 | **Org-Chart** | [`type-org-chart.md`](https://github.com/cathrynlavery/diagram-design/blob/main/type-org-chart.md) | Organizational reporting structures |
| 9 | **Nested** | [`type-nested.md`](https://github.com/cathrynlavery/diagram-design/blob/main/type-nested.md) | Containment hierarchies with visual nesting |
| 10 | **Architecture** | [`type-architecture.md`](https://github.com/cathrynlavery/diagram-design/blob/main/type-architecture.md) | System and software architecture diagrams |
| 11 | **Layers** | [`type-layers.md`](https://github.com/cathrynlavery/diagram-design/blob/main/type-layers.md) | Stack-based abstractions (OSI model, tech stacks) |

### Process and Workflow Types

| # | Diagram Type | Reference File | Primary Use Case |

|---|-------------|----------------|------------------|
| 12 | **Flowchart** | [`type-flowchart.md`](https://github.com/cathrynlavery/diagram-design/blob/main/type-flowchart.md) | Decision logic and procedural flows |
| 13 | **Process** | [`type-process.md`](https://github.com/cathrynlavery/diagram-design/blob/main/type-process.md) | Business process modeling |
| 14 | **Sequence** | [`type-sequence.md`](https://github.com/cathrynlavery/diagram-design/blob/main/type-sequence.md) | Object interaction over time (UML) |
| 15 | **Swimlane** | [`type-swimlane.md`](https://github.com/cathrynlavery/diagram-design/blob/main/type-swimlane.md) | Cross-functional process flows |
| 16 | **Gantt** | [`type-gantt.md`](https://github.com/cathrynlavery/diagram-design/blob/main/type-gantt.md) | Project schedules and timelines |
| 17 | **Timeline** | [`type-timeline.md`](https://github.com/cathrynlavery/diagram-design/blob/main/type-timeline.md) | Chronological event visualization |

### State and Dynamic System Types

| # | Diagram Type | Reference File | Primary Use Case |

|---|-------------|----------------|------------------|
| 18 | **State** | [`type-state.md`](https://github.com/cathrynlavery/diagram-design/blob/main/type-state.md) | Finite state machines and state transitions |
| 19 | **IT State** | [`type-it-state.md`](https://github.com/cathrynlavery/diagram-design/blob/main/type-it-state.md) | IT infrastructure state monitoring |
| 20 | **Data Flow** | [`type-data-flow.md`](https://github.com/cathrynlavery/diagram-design/blob/main/type-data-flow.md) | Information movement through systems (DFD) |

### Specialized Layout Types

| # | Diagram Type | Reference File | Primary Use Case |

|---|-------------|----------------|------------------|
| 21 | **Venn** | [`type-venn.md`](https://github.com/cathrynlavery/diagram-design/blob/main/type-venn.md) | Set theory and overlapping categories |
| 22 | **Loop** | [`type-loop.md`](https://github.com/cathrynlavery/diagram-design/blob/main/type-loop.md) | Cyclical processes and feedback systems |
| 23 | **Medallion** | [`type-medallion.md`](https://github.com/cathrynlavery/diagram-design/blob/main/type-medallion.md) | Centered hub-and-spoke diagrams |
| 24 | **High-Level** | [`type-high-level.md`](https://github.com/cathrynlavery/diagram-design/blob/main/type-high-level.md) | Executive summary visualizations |

### Enterprise Architecture Types

| # | Diagram Type | Reference File | Primary Use Case |

|---|-------------|----------------|------------------|
| 25 | **DP Security Matrix** | [`type-dp-security-matrix.md`](https://github.com/cathrynlavery/diagram-design/blob/main/type-dp-security-matrix.md) | Data protection security posture assessment |
| 26 | **DP Integration** | [`type-dp-integration.md`](https://github.com/cathrynlavery/diagram-design/blob/main/type-dp-integration.md) | Data protection integration patterns |
| 27 | **ER** | [`type-er.md`](https://github.com/cathrynlavery/diagram-design/blob/main/type-er.md) | Entity-relationship database modeling |

## Working with Diagram Types in Diagram Design

### Specifying Types in CLI Commands

Diagram Design exposes the `--type` flag on import commands to override automatic type detection. Each command references the corresponding `type-*.md` specification at `skills/diagram-design/references/[type-name].md`.

**Import a Mermaid file with explicit type assignment:**

```bash
diagram-design import-mermaid my-diagram.mmd --type gantt

```

**Force architecture type detection on Draw.io import:**

```bash
diagram-design import-drawio my-diagram.drawio --type architecture

```

**Export with default type inference:**

```bash
diagram-design export-diagram --output diagram.html

```

### Rendering Pipeline Architecture

All 27 types flow through a unified rendering engine defined in the core library. The process works as follows:

1. **Type Detection**: Automatic inference from source file structure, or manual override via `--type`
2. **Spec Loading**: Reference file loaded from `skills/diagram-design/references/type-[name].md`
3. **Constraint Validation**: Python scripts in `scripts/*.py` enforce type-specific rules (e.g., edge constraints for **DP Security Matrix**)
4. **Template Selection**: HTML template chosen from `assets/template-*.html` (light, dark, full variants)
5. **Output Generation**: Final render to HTML, PNG, or interactive format

## Key Source Files for Diagram Type Implementation

| File Path | Purpose |
|-----------|---------|
| `skills/diagram-design/references/*.md` | Authoritative specifications for all 27 diagram types |
| [`commands/import-mermaid.md`](https://github.com/cathrynlavery/diagram-design/blob/main/commands/import-mermaid.md) | CLI docs for Mermaid import with `--type` option |
| [`commands/import-drawio.md`](https://github.com/cathrynlavery/diagram-design/blob/main/commands/import-drawio.md) | CLI docs for Draw.io import with `--type` option |
| [`commands/export-diagram.md`](https://github.com/cathrynlavery/diagram-design/blob/main/commands/export-diagram.md) | Export command documentation |
| `assets/template-*.html` | Rendering templates for visual output |
| `scripts/*.py` | Validation scripts enforcing diagram-type constraints |

## Selecting the Right Diagram Type

Choose based on your communication goal:

- **Comparing quantities** → Bar, Radar
- **Showing change over time** → Line, Timeline, Gantt
- **Modeling decisions** → Flowchart, State, IT State
- **Mapping relationships** → ER, Tree, Venn
- **Architecting systems** → Architecture, Layers, Data Flow
- **Compliance documentation** → DP Security Matrix, DP Integration
- **Executive presentations** → High-Level, Quadrant, Pyramid

## Summary

- Diagram Design provides **27 fixed visual diagram types**, each with dedicated reference specifications in `skills/diagram-design/references/`
- Types are organized into **six functional categories**: charting, hierarchical, process, state, specialized layouts, and enterprise architecture
- The `--type` CLI flag overrides automatic detection on `import-mermaid` and `import-drawio` commands
- Validation scripts in `scripts/*.py` enforce type-specific constraints (e.g., **DP Security Matrix** edge rules)
- HTML templates in `assets/template-*.html` handle final rendering across light, dark, and full variants

## Frequently Asked Questions

### How do I force a specific diagram type when importing?

Use the `--type` flag followed by the lowercase type name. For example: `diagram-design import-mermaid file.mmd --type sequence`. This bypasses automatic detection and loads the corresponding reference specification from [`skills/diagram-design/references/type-sequence.md`](https://github.com/cathrynlavery/diagram-design/blob/main/skills/diagram-design/references/type-sequence.md).

### Can I create custom diagram types beyond the 27 supported?

No. The 27 types constitute a fixed taxonomy designed for consistency across outputs. The architecture intentionally restricts type extensions to ensure validation scripts and templates remain reliable. For specialized needs, select the closest matching type and customize styling within its constraints.

### What is the difference between State and IT State diagrams?

**State** ([`type-state.md`](https://github.com/cathrynlavery/diagram-design/blob/main/type-state.md)) models general finite state machines for software engineering and logic design. **IT State** (`type-infrastructure-tailored state.md`) extends this for infrastructure monitoring—tracking operational conditions like "healthy," "degraded," or "failed" across IT systems with specialized visualization conventions.

### Where are diagram type specifications stored?

All 27 reference files live in `skills/diagram-design/references/` with the naming pattern `type-[diagram-name].md`. Each file defines layout rules, connector primitives, and styling defaults that the rendering engine applies consistently across export formats.