d3-dag - Layout algorithms for visualizing directed acyclic graphs

  •        105

Often data sets are hierarchical, but are not in a tree structure, such as genetic data. In these instances d3-hierarchy may not suit your needs, which is why d3-dag (Directed Acyclic Graph) exists. This module implements a data structure for manipulating DAGs that mimics the API of d3-hierarchy as much as possible, while allowing layouts of acylic DAGs. The update from 0.1 to 0.2 includes a few small backwards incompatible changes.

https://github.com/erikbrinkman/d3-dag

Dependencies:

d3-array : ^1.2.1
fastpriorityqueue : ^0.5.0
javascript-lp-solver : ^0.4.5
quadprog-js : ^0.1.3

Tags
Implementation
License
Platform

   




Related Projects

ngx-graph - Graph visualization library for angular

  •    TypeScript

This library is focused on handling graph data (anything with nodes and edges) rather than chart data. Currently the only visualization uses the Dagre layout, which is specialized for directed graphs. The plan is to implement multiple visualisations for graph data within this same library. Eventually, ngx-charts-force-directed-graph may be imported into this library as another option to visualize your graph data. ngx-graph is a Swimlane open-source project; we believe in giving back to the open-source community by sharing some of the projects we build for our application. Swimlane is an automated cyber security operations and incident response platform that enables cyber security teams to leverage threat intelligence, speed up incident response and automate security operations.

WebCola - Javascript constraint-based graph layout

  •    TypeScript

JavaScript constraint based layout for high-quality graph visualization and exploration using D3.js and other web-based graphics libraries. Note: While D3 adaptor supports both D3 v3 and D3 v4, WebCoLa's interface is styled like D3 v3. Follow the setup in our homepage for more details.

d3-extended - Extends D3 with some common jQuery functions and more

  •    Javascript

d3 Extended is compatible with d3 v4. If you are looking for the v3 compatible module you can find it on the v3 branch. This module extends d3-selection with helpful functions which are similar to the jQuery API. If you want to get to know more about this project, feel free to read the blog post: Replacing jQuery with d3.

Vue.D3.tree - Vue component to display tree based on D3.js layout.

  •    Vue

Update documentationVue components to display graphics based on D3.js layout. For all these events, the argument passed is {element, data} where element represents the node build by D3.js and data is the node raw data.


d3-annotation - Use d3-annotation with built-in annotation types, or extend it to make custom annotations

  •    Javascript

You can add the latest version of d3-annotation hosted on cdnjs. I would love to hear from you about any additional features that would be useful, please say hi on twitter @DataToViz.

d3-legend - A reusable d3 legend component.

  •    Javascript

You can also add the latest version of d3-legend hosted on cdnjs. I would love to hear from you about any additional features that would be useful, please say hi on twitter @DataToViz.

react-d3-library - Open source library for using D3 in React

  •    Javascript

An open source library that will allow developers the ability to reroute D3 output to React’s virtual DOM. Just use your existing D3 code, and with a few simples lines, you can now harness the power of React with the flexibility of D3! React-D3-Library will compile your code into React components, and it also comes with a series of D3 template charts converted to React components for developers who are unfamiliar with D3. Not only do we build fully functional React components, but they utilize the power of D3 to automate scaling ranges, normalizing data, and constructing legends.

d3-jetpack - 🚀 Nifty convenience wrappers that speed up your daily work with d3.js

  •    Javascript

If you use NPM, npm install d3-jetpack. Otherwise, download the latest d3v4+jetpack.js. Modifies append so it adds classes and ids.

d3-flame-graph - A D3.js plugin that produces flame graphs from hierarchical data.

  •    Javascript

A D3.js plugin that produces flame graphs from hierarchical data. If you don't know what flame graphs are, check Brendan Gregg's post.

d3.compose - Compose complex, data-driven visualizations from reusable charts and components with d3

  •    Javascript

Compose rich, data-bound charts from charts (like Lines and Bars) and components (like Axis, Title, and Legend) with d3 and d3.chart. See http://CSNW.github.io/d3.compose/ for live examples and docs.

d3act - d3 with React

  •    Javascript

d3 has been the de facto standard when it comes to data visualisations for a while now and React has recently emerged as the go-to library for building user interfaces. d3 and React are both data-centric libraries, making them a natural fit; d3 takes a data-driven approach and React aims to solve the problem of data changing over time in the context of building large applications. Nicolas Hery's "Integrating D3.js visualizations in a React app" talks about letting d3 do all the work after React has finished rendering components in the DOM. d3act is inspired by @nicolas_hery's approach; create a lightweight React component wrapper that maps React's lifecycle methods componentDidMount, componentDidUpdate and componentWillUnmount into a d3 chart's create, update and unmount methods respectively.

topogram - Continuous area cartograms with d3 and TopoJSON

  •    HTML

This is a JavaScript implementation of an algoritm to construct continuous area cartograms, by James A. Dougenik, Nicholas R. Chrisman and Duane R. Niemeyer, ©1985 by the Association of American Geographers. It relies heavily on d3 for rendering and TopoJSON both for writing and reading topological JSON geodata. The included example combines TopoJSON-encoded and boundaries of the United States from Natural Earth with 2011 US Census population estimates to size each state proportionally.

d3-carto-map - A mapping API that uses D3 geospatial functionality

  •    Javascript

d3.carto is a library for creating layer-based maps using D3. It allows you to easily make tile and vector maps that take advantage of D3's amazing geospatial functionality. Take a look at the wiki to get started or if you'd prefer to see what d3.carto can do, there are some examples here and more as blocks.

dependo - Visualize your CommonJS or AMD module dependencies in a force directed graph report.

  •    HTML

Visualize your CommonJS, AMD, or ES6 module dependencies in a force directed graph report - powered by D3.js. Let me introduce dependo - A small visualization tool that draws an force directed graph of JavaScript dependencies pulled from a codebase of CommonJS, AMD, or ES6. Behind the scene I’m using a wonderful library named node-madge, to extract the dependencies and combined with the power of D3.js I draw a beautiful zoomable directed graph.

d3-pre - Pre-render d3 visualizations

  •    HTML

A JavaScript library that pre-renders d3 visualizations into inline SVG elements, to reduce perceived page-load time and cut down on unwanted paint flashes. The pre-rendering tool uses a headless browser to turn d3 code into its resulting SVG, and inserts the markup into your HTML. Then, the d3-pre JavaScript library overrides d3.append to check if a pre-rendered DOM node already exists before creating a new one. This approach allows you to use pre-rendered SVG without changing your visualization code.

d3fc - A collection of components that make it easy to build interactive charts with D3

  •    HTML

A collection of components that make it easy to build interactive charts with D3. This project has recently upgraded to D3 version 5 to take advantage of the new promise-based API, and stays compatible with D3 version 4 for all other functionality. For more details, see the release notes for D3 version 5.0 and d3fc v14.0.0.

d4 - Data-Driven Declarative Documents

  •    Javascript

d4 is an experiment in using React to produce data-driven documents (ala d3) that are performant and understandable. This is not a library, but rather a demonstration that it's possible (and preferable) to use React instead of the core of d3. d3 can produce fantastic results. Look no further than Mike Bostock's blocks for examples. Unfortunately, I always find d3 code surprisingly difficult to understand and extend, in the same way I used to find code difficult to approach before React encouraged a declarative style. By using React (which can render SVGs, no problem) for data-driven documents, we can improve comprehension and performance and use tools from the React ecosystem.