{"repo":"erikbrinkman/d3-dag","free":true,"listed":false,"github":"https://github.com/erikbrinkman/d3-dag","clone":"git clone https://github.com/erikbrinkman/d3-dag.git","description":"Layout algorithms for visualizing directed acyclic graphs","language":"TypeScript","stars":1516,"topics":["d3","graph","typescript","dag","directed-acyclic-graph","graph-layout","javascript","sugiyama","visualization"],"license":"MIT","category":"dev-tools","readme_excerpt":"d3-dag Lightweight, TypeScript-first DAG layout for the web. d3-dag provides layered graph layout algorithms for directed acyclic graphs. Why d3-dag? - Different layouts - optimal edge crossing minimization, multiple coordinate assignment strategies, and unique layout algorithms (Zherebko, Grid) not available elsewhere in JavaScript - Small bundle - a fraction of elkjs's 500KB transpiled Java - TypeScript-first - full type safety with generic operators and immutable builders; dagre v3 added TypeScript support, but d3-dag's generic operator pattern provides deeper type safety - Works with React Flow - drop-in replacement for dagre as a layout engine (see below) Quick Start with React Flow If you're using React Flow and want different layouts from dagre, d3-dag is a drop-in replacement: The dagre-compatible API supports familiar options ( rankdir , nodesep , ranksep ) with progressive disclosure into d3-dag's advanced algorithms: Migrating from dagre Replace import dagre from \"dagre\" with import { dagre } from \"d3-dag\" . Most graph construction and layout methods work the same. Supported dagre API Category Methods ---------- --------- Setup setGraph , graph , setDefaultNodeLabel , setDefaultEdgeLabel , isDirected , isCompound , isMultigraph Nodes setNode , setNodes , removeNode , hasNode , node , nodes , nodeCount , filterNodes Edges setEdge , removeEdge , hasEdge , edge , edges , edgeCount , setPath Traversal predecessors , successors , neighbors , inEdges , outEdges , nodeEdg","default_branch":null,"files":null,"tree":[],"storefront":"/r/erikbrinkman","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/erikbrinkman/d3-dag/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}