p5.js VS d3

Compare p5.js vs d3 and see what are their differences.

p5.js

p5.js is a client-side JS platform that empowers artists, designers, students, and anyone to learn to code and express themselves creatively on the web. It is based on the core principles of Processing. http://twitter.com/p5xjs — (by processing)

d3

Bring data to life with SVG, Canvas and HTML. :bar_chart::chart_with_upwards_trend::tada: (by d3)
Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
p5.js d3
233 277
20,850 107,634
0.9% 0.3%
9.9 8.0
5 days ago 19 days ago
JavaScript Shell
GNU Lesser General Public License v3.0 only 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.

p5.js

Posts with mentions or reviews of p5.js. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-30.
  • P5.js: Online Canvas Programming
    1 project | news.ycombinator.com | 27 Feb 2024
  • Coming Home From the South Pole
    1 project | news.ycombinator.com | 10 Jan 2024
  • Turbo Pascal Turns 40
    8 projects | news.ycombinator.com | 30 Nov 2023
    Processing (P5) had this: you can select any string of text in its IDE anl search for it in the docs, and if it's one of the built-in functions or constants it will open the associated static html page that came installed with the software, so no internet nor server required. And despite being offline you can still navigate the docs too. This feels a lost basic skill in static site generation these days.

    It was the only creative coding framework that had complete, offline documentation like that at the time I might add. OpenFrameworks is still mostly autogenerated stubs for example.

    IMO it was one of the things that gave Processing an edge in educational contexts over all alternatives. I was pretty sad to see p5.js not fully continue that tradition and require that you go online to read the docs, and that it's not a static website but that text is rendered with javascript when you open it (still complete and with examples though).

    https://processing.org/

    https://p5js.org/

  • My Google Play Developer account has been terminated
    1 project | news.ycombinator.com | 15 Oct 2023
    I thought it could be funny to use the javascript version of it https://p5js.org/ in a web page and then wrap it in a Unity app, since Unity was and is the environment I use for making apps.
  • Repetition can make you loopy!: Intro to JavaScript Loops
    1 project | dev.to | 14 Aug 2023
    In this last section, I'll be creating some visual examples to show how helpful loops can be. I'll be using p5js, a JavaScript library with functionality for creative coding. That being said, I'll try to give a condensed version of the functions being utilized in the following examples.
  • G9.js: Automatically Interactive Graphics
    2 projects | news.ycombinator.com | 8 Aug 2023
    I was curious too, took a little bit of digging :)

    "the original domain of [P]rocessing was proce55ing.net, so people used to sometimes refer to processing as proce55ing or P5 or p5 for short. they still do sometimes. p5.js is a reference to that."

    from https://github.com/processing/p5.js/issues/2443

  • [OC] Monthly Performance of the S&P 500: 94 Years in 1 Video.
    1 project | /r/dataisbeautiful | 27 Jun 2023
    Sketch.js - https://p5js.org/
  • Ask HN: How to teach a kid of 15 Linux and programming
    3 projects | news.ycombinator.com | 20 Jun 2023
    > how do I get him learning programming in a fun way?

    Processing / P5.js can be pretty fun to learn. You use a real programming language to create art and animations. With little code you can get a circle on the screen, then making it move, then following your mouse, then adding other shapes, then changing colour depending on some event… It’s conductive to experimentation and a way to gradually introduce concepts.

    https://processing.org/

    https://p5js.org/

    https://thecodingtrain.com/

  • [OC] I created a simple, free waveform and genre visualizer for your top ten Spotify songs, a few samples below and link to the tool in the comments!
    1 project | /r/dataisbeautiful | 8 Jun 2023
    Then I used p5js to create the 'art' itself, really user friendly coding framework with lots of resources online! If you want to get into coding, that is a really great entry point with Daniel Schiffman's coding train videos on YT!
  • Different texture types
    1 project | /r/p5js | 28 May 2023
    Posted an issue for it that u guys can check out here: https://github.com/processing/p5.js/issues/6166

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 2024-03-25.
  • A visual guide to Vision Transformer – A scroll story
    1 project | news.ycombinator.com | 16 Apr 2024
    Yes this was done with a combination of GSAP Scrolltrigger https://gsap.com/docs/v3/Plugins/ScrollTrigger/ and https://d3js.org/
  • Ask HN: Tips to get started on my own server
    19 projects | news.ycombinator.com | 25 Mar 2024
  • Full Stack Web Development Concept map
    11 projects | dev.to | 23 Mar 2024
    d3 - very power visualization library enabling dynamic visualizations. docs
  • Observable 2.0, a static site generator for data apps
    17 projects | news.ycombinator.com | 15 Feb 2024
    Yep, Evidence is doing good work. We were most directly inspired by VitePress; we spent months rewriting both D3’s docs (https://d3js.org) and Observable Plot’s docs (https://observablehq.com/plot) in VitePress, and absolutely loved the experience. But we wanted a tool focused on data apps, dashboards, reports — observability and business intelligence use cases rather than documentation. Compared to Evidence, I’d say we’re trying to target data app developers more than data analysts; we offer a lot of power and expressiveness, and emphasize custom visualizations and interaction (leaning on Observable Plot or D3), as well as polyglot programming with data loaders written in any language (Python, R, not just SQL).
  • Using Deno with Jupyter Notebook to build a data dashboard
    5 projects | dev.to | 17 Jan 2024
    D3.js: A robust library to visualize your data and create interactive data-driven visualizations.
  • What is the technology stack used to create these live charts?
    2 projects | /r/learnprogramming | 10 Dec 2023
    They are images so it could be any number of things, datawrapper, charts.js, d3.js to name a few options.
  • Animated map showing frequency and location of births around the world [OC]
    1 project | /r/dataisbeautiful | 5 Dec 2023
    I made this interactive visualization that attempts to show the real-time frequency and location of births around the world. A country’s annual births (i.e. the country’s population times its birthrate) were distributed across all of the populated locations in each country, weighted by the population distribution (i.e. more populated areas got a greater fraction of the births). Data Sources and Tools Population and birthrate data for 2023 was obtained from Wikipedia (Population and birth rates). Population distribution across the globe was obtained from Socioeconomic Data and Applications Center (sedac) at Columbia University. Data is processed and visualized at a 1 degree x 1 degree resolution, each of which has a different probability of a birth occurring in a specific time period. D3.js was used to create the map elements and html, css and javascript were used to create the user interface.
  • How do you implement library types?
    2 projects | /r/typescript | 3 Dec 2023
    When I go to the homepage of types/d3 the only hint for any kind of documentation is what seems to be the main github page of d3. It's highly possible I'm missing something here, so sorry if I am but I can't find any documentation of how you are supposed to type these library objects.
  • The top 11 React chart libraries for data visualization
    10 projects | dev.to | 5 Oct 2023
    Website: D3.js official site
  • Frontend development roadmap
    9 projects | /r/learnprogramming | 2 Oct 2023
    D3js

What are some alternatives?

When comparing p5.js and d3 you can also consider the following projects:

three.js - JavaScript 3D Library.

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

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

GoJS, a JavaScript Library for HTML Diagrams - JavaScript diagramming library for interactive flowcharts, org charts, design tools, planning tools, visual languages.

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

vis

two.js - A renderer agnostic two-dimensional drawing api for the web.

d4 - A friendly reusable charts DSL for D3

BabylonJS - Babylon.js is a powerful, beautiful, simple, and open game and rendering engine packed into a friendly JavaScript framework.

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

heatmap.js - 🔥 JavaScript Library for HTML5 canvas based heatmaps

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