plot VS d3

Compare plot vs d3 and see what are their differences.

plot

A concise API for exploratory data visualization implementing a layered grammar of graphics (by observablehq)

d3

Bring data to life with SVG, Canvas and HTML. :bar_chart::chart_with_upwards_trend::tada: [Moved to: https://github.com/d3/d3] (by mbostock)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
plot d3
38 4
3,862 100,996
3.3% -
9.1 7.1
5 days ago about 2 years ago
HTML JavaScript
ISC License ISC License
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.

plot

Posts with mentions or reviews of plot. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-25.
  • Vega-Altair: Declarative Visualization in Python
    9 projects | news.ycombinator.com | 25 Feb 2024
    I love Vega(-lite) / Altair, the grammar of graphics plotting system is really great to build any kind of chart even when it wasn't thought through by the authors of the library. There are other wrappers for languages that lack viz libraries, such as Elixir / Livebook [0]

    However, when I used it a couples years back it struggled with large vizs, I think due to Vega(-lite)'s way of embedding the data in the viz artifact.

    Also, interactive is nice but often I just need a quick static plot, and matplotlib is more convenient for this, you can easily see the png in any environment etc.

    These days I'm eager to see an Observable Plot [1] wrapper for Python !

    [0] https://github.com/livebook-dev/vega_lite

    [1] https://github.com/observablehq/plot

  • Observable 2.0, a static site generator for data apps
    17 projects | news.ycombinator.com | 15 Feb 2024
    Good questions.

    1. It’s just JavaScript so you can fetch stuff dynamically too (see https://observablehq.com/framework/lib/duckdb). But yeah, only client-side. (Though see https://github.com/observablehq/framework/issues/234.)

    2. Sure, it’s all open source, I bet you could make that work. Or `yarn deploy` to Observable and configure sharing there (though it wouldn’t let you charge others).

    3. Yup. Which is part of the appeal of model of running data loaders at build time: you can query some private data and viewers would only be able to see the final result set. (The lack of something like this has always been a huge problem for Observable notebooks. You’d make some great query-driven charts and then couldn’t make it public without some awkward manual dance of downloading and re-uploading a file to a fork of the notebook.)

    4. I wish I knew! It’s being tracked here https://github.com/observablehq/plot/issues/1711. Lately there’s been a lot more work on Framework naturally but now that that’s out…

    5. Another good question. We’re definitely interested in tailoring it more to this sort of use case but lots is TBD!

  • Using Deno with Jupyter Notebook to build a data dashboard
    5 projects | dev.to | 17 Jan 2024
    Observable Plot: A library built on top of D3.js used to visualize data and iterate more quickly on different plot chart
  • What website frameworks are used to build these websites?
    3 projects | /r/webdev | 9 Dec 2023
    https://observablehq.com/
  • Yandex open sourced it's BI tool DataLens
    4 projects | news.ycombinator.com | 26 Sep 2023
    Observable Plot [0] is also nice. AFAIU it's the same library powering the visualizations within Observable itself.

    [0] https://observablehq.com/plot/

  • Best React charting libraries for data visualizations
    1 project | /r/react | 27 May 2023
    I liked observablehq plot library: https://github.com/observablehq/plot
  • Bank Failures Visualized
    1 project | news.ycombinator.com | 3 May 2023
  • Observable Plot: A JavaScript library for exploratory data visualization
    1 project | /r/patient_hackernews | 28 Apr 2023
    1 project | /r/hackernews | 28 Apr 2023
  • Observable Plot: The JavaScript library for exploratory data visualization
    1 project | /r/hypeurls | 27 Apr 2023

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.
  • D3, nested appends, and data flow
    1 project | /r/codehunter | 5 May 2022
    I found mention of nested selection on another post, which pointed to http://bost.ocks.org/mike/nest/. But is nested selection, and therefore breaking apart the appends into three chunks, appropriate/idiomatic for this situation? Or is there actually a well-constructed way to form this structure in one chain of declarations? It seems like there might be a way with subselections mentioned on https://github.com/mbostock/d3/wiki/Selections, but I'm not familiar enough with the language to test that hypothesis.
  • How do you create a family tree in d3.js?
    2 projects | /r/codehunter | 5 May 2022
    I've chosen d3.js for this because it looks like would be capable of doing the job. I just don't know how or even where to start. Tutorials about d3.js only cover standard charts like bar charts.
  • How do I shut down a python simpleHTTPserver?
    1 project | /r/codehunter | 24 Apr 2022
    So I'm trying to learn d3, and the wiki suggested that
  • D3.js: "Uncaught SyntaxError: Unexpected token ILLEGAL"?
    1 project | /r/codehunter | 20 Apr 2022
    D3 Sandbox But when I load this page, my console (in Chrome) is giving me this error:

    Uncaught SyntaxError: Unexpected token ILLEGAL: line 2 It doesn't like the pi and e symbols at the start of the file. Errrr... what can I do about this? I am serving the file with python's SimpleHTTPServer.

    Update: yes I know I can just link to a CDN version, but I would prefer to serve the file locally.

    Answer link : https://codehunter.cc/a/javascript/d3-js-uncaught-syntaxerror-unexpected-token-illegal

What are some alternatives?

When comparing plot and d3 you can also consider the following projects:

plot-react - React wrapper for @observablehq/plot

seaborn - Statistical data visualization in Python

blazor-samples - Explore and learn Syncfusion Blazor components using large collection of demos, example applications and tutorial samples

visx - 🐯 visx | visualization components

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

Cesium - An open-source JavaScript library for world-class 3D globes and maps :earth_americas:

go-echarts - 🎨 The adorable charts library for Golang

GreenSock-JS - GSAP (GreenSock Animation Platform), a JavaScript animation library for the modern web

d3 - Bring data to life with SVG, Canvas and HTML. :bar_chart::chart_with_upwards_trend::tada:

gonum - Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more

react-motion - A spring that solves your animation problems.