d3 VS GoJS, a JavaScript Library for HTML Diagrams

Compare d3 vs GoJS, a JavaScript Library for HTML Diagrams and see what are their differences.

d3

Bring data to life with SVG, Canvas and HTML. :bar_chart::chart_with_upwards_trend::tada: (by d3)
Our great sponsors
  • Appwrite - The Open Source Firebase alternative introduces iOS support
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
  • Scout APM - Less time debugging, more time building
d3 GoJS, a JavaScript Library for HTML Diagrams
160 6
101,274 6,125
0.5% 1.7%
6.9 6.8
about 1 month ago 13 days ago
JavaScript HTML
ISC License GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

d3

Posts with mentions or reviews of d3. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-05.

GoJS, a JavaScript Library for HTML Diagrams

Posts with mentions or reviews of GoJS, a JavaScript Library for HTML Diagrams. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-03-10.
  • Ask HN: How to quickly animate sketches and 2D diagrams?
    8 projects | news.ycombinator.com | 10 Mar 2022
    GoJS might work for you: https://gojs.net

    Although the focus of the library is interactivity and not setting up sequences of animation, but that is possible too.

  • It's always been you, Canvas2D
    12 projects | news.ycombinator.com | 4 Mar 2022
    My livelihood has been primarily building a Canvas diagramming library since 2010 (https://gojs.net), if anyone has any questions about 2D Canvas use in the real-world I'd be happy to answer them.

    roundRect is great. Though you don't need 4 arcTo in order to make a rounded rect, you can use bezier instead (we do). Their example is also 1% amusing because they set the `fillStyle` but then call `stroke` (and not `fill`). I'll have to do some performance comparisons, since that's the operative thing for my use case (and any library author).

    text modifiers are very welcome. It's crazy how annoying measuring still is, especially if you want thinks to look perfectly consistent across browsers. Though the chrome dominance is making things easier in one way, I guess.

    context.reset is kinda funny. Most high-performance canvas apps will never want to use it. For that matter you want to set all properties as little as possible, especially setting things like context.font, which are slow even if you're setting it to the same value. (Or it was, I haven't tested that in several years).

    I'm sure most users know this by now, but generally for performance the fewer calls you make to the canvas and the context, the beter. This is even true of transforms: It's faster to make your own Matrix class, do all your own matrix translation, rotation, multiplication, etc, and then make a single call to `context.setTransform`, than it is to call the other context methods.

  • Problem with some gojs gantt model
    1 project | reddit.com/r/learnjavascript | 6 Jun 2021
    I have some problem with gojs(https://gojs.net/),
  • Ask HN: What are some tools / libraries you built yourself?
    264 projects | news.ycombinator.com | 16 May 2021
    I'm not the only developer but I made (and still make) GoJS, an interactive diagramming library for the web.

    https://gojs.net

    Most of its popularity is with large companies building their own internal tools where they need diagramming visualization capabilities (layouts, save/load, undo/redo, data binding, etc). So you won't see it too often in the wild, but under the surface it's used in every industry.

    I love it, and I love HTML Canvas, which I wish was more popular.

  • Ask HN: What diagrams do you use in software development?
    12 projects | news.ycombinator.com | 26 Apr 2021
    I actually make a diagramming library for the web, called GoJS: https://gojs.net

    So I make all kinds of diagrams, mostly as demonstrations. When developing an API itself, especially one where there are phases (objects must measure themselves and draw in a certain order, and not more than they need to), state machine-style and flowchart-style diagrams are awfully helpful.

  • Using KonvaJS as canvas with React
    4 projects | dev.to | 25 Mar 2021
    GoJS

What are some alternatives?

When comparing d3 and GoJS, a JavaScript Library for HTML Diagrams you can also consider the following projects:

echarts - Apache ECharts is a powerful, interactive charting and data visualization library for browser

vis

d4 - A friendly reusable charts DSL for D3

svg.js - The lightweight library for manipulating and animating SVG

paper.js - The Swiss Army Knife of Vector Graphics Scripting – Scriptographer ported to JavaScript and the browser, using HTML5 Canvas. Created by @lehni & @puckey

react-vis - Data Visualization Components

sigma.js - A JavaScript library aimed at visualizing graphs of thousands of nodes and edges

fabric.js - Javascript Canvas Library, SVG-to-Canvas (& canvas-to-SVG) Parser

visx - 🐯 visx | visualization components

vega - A visualization grammar.

three.js - JavaScript 3D Library.

draw.io - Source to app.diagrams.net