Cette page est affichée en anglais. Une traduction française est en cours.
ScriptsJul 21, 2026·3 min de lecture

Graphviz — Open-Source Graph Visualization Software

A mature open-source graph visualization toolkit that renders structural information as diagrams from a simple text-based DOT language description.

Prêt pour agents

Installation agent prête

Cet actif peut être installé après choix du runtime, vérification du plan et exécution de la commande adaptée.

Native · 98/100Policy : autoriser
Surface agent
Tout agent MCP/CLI
Type
Skill
Installation
Single
Confiance
Confiance : Established
Point d'entrée
Graphviz Overview
Commande d'installation directe
npx -y tokrepo@latest install f9566caf-84c1-11f1-9bc6-00163e2b0d79 --target codex

À exécuter après confirmation du plan en dry-run.

Introduction

Graphviz is an open-source graph visualization toolkit originally developed at AT&T Labs. It takes descriptions of graphs in the DOT text language and automatically computes layouts, rendering them as SVG, PNG, PDF, and other formats. It has been a standard tool in software engineering, networking, and data science for over two decades.

What Graphviz Does

  • Renders directed and undirected graphs from DOT language descriptions
  • Automatically computes node positions using multiple layout algorithms
  • Outputs to SVG, PNG, PDF, PostScript, and other image formats
  • Provides programmatic APIs for C, Python, Java, and other languages
  • Supports subgraphs, clusters, custom node shapes, and edge styling

Architecture Overview

Graphviz consists of several layout engines, each implementing a different graph drawing algorithm. The dot engine handles hierarchical directed graphs using a layered approach. neato and fdp use force-directed placement for undirected graphs. circo creates circular layouts and twopi produces radial layouts. All engines read the same DOT input format and share the same rendering backend.

Self-Hosting & Configuration

  • Install from system package managers on Linux, macOS, or Windows
  • Use the command-line tools directly: dot, neato, fdp, circo, twopi, sfdp
  • Integrate via Python bindings (graphviz package on PyPI)
  • Customize graph appearance with DOT attributes for nodes, edges, and clusters
  • Generate DOT files programmatically from any language and pipe to Graphviz

Key Features

  • Multiple layout algorithms for different graph topologies
  • DOT language provides a readable text-based graph description format
  • Extensive output format support including SVG and PDF
  • Language bindings for Python, C, Java, and more
  • Battle-tested reliability across decades of production use

Comparison with Similar Tools

  • Mermaid — Markdown-embedded diagrams rendered in browsers; Graphviz provides more layout algorithms and output formats
  • D2 — Modern declarative diagram language; Graphviz has broader ecosystem support and more layout engines
  • PlantUML — UML-focused diagramming; Graphviz handles arbitrary graph structures beyond UML
  • draw.io — Interactive visual editor; Graphviz is code-first with automatic layout computation

FAQ

Q: What is the DOT language? A: DOT is a plain-text graph description language. You define nodes and edges, and Graphviz computes the layout automatically.

Q: Can Graphviz handle large graphs? A: Yes. The sfdp engine is designed for graphs with thousands of nodes. For very large graphs, use sfdp or the sparse mode in neato.

Q: Is Graphviz still maintained? A: Yes. Graphviz is actively maintained on GitLab and GitHub with regular releases.

Q: Can I use Graphviz in a web application? A: Yes. Use the Viz.js or @hpcc-js/wasm libraries that compile Graphviz to WebAssembly for in-browser rendering.

Sources

Fil de discussion

Connectez-vous pour rejoindre la discussion.
Aucun commentaire pour l'instant. Soyez le premier à partager votre avis.

Actifs similaires