D3

Top 23 D3 Open-Source Projects

  • freeCodeCamp

    freeCodeCamp.org's open-source codebase and curriculum. Learn to code for free.

    Project mention: Good coding groups for black women? | news.ycombinator.com | 2024-01-13
  • d3

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

    Project mention: Ask HN: Tips to get started on my own server | news.ycombinator.com | 2024-03-25
  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

  • three.js

    JavaScript 3D Library.

    Project mention: Ask HN: Tips to get started on my own server | news.ycombinator.com | 2024-03-25
  • Chart.js

    Simple HTML5 Charts using the <canvas> tag

    Project mention: Working Camp Inquiry - Glam Up my Markup | dev.to | 2024-03-23

    ChartsJS for inspiring me with the pie chart.

  • echarts

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

    Project mention: Show HN: Paisa – Open-Source Personal Finance Manager | news.ycombinator.com | 2023-09-22

    I want to know where my money goes. I like to look at stacked-area (or column) charts of the categories of spending. To make this work I have some software I made ~20 years ago that does double-entry book-keeping. At the end of the month, I import statements from financial service providers (eg: Wells Fargo, Chase, PayPal, Stripe, etc). Lots of stuff is repeat purchases (eg: Shell Gas) and my software automatically categorises. Some transactions I have to categorise manually. Each category / vendor becomes an expense-account and my banks and CCs exist as assets and liabilities.

    Once the import and reconciliation is done I pull up a my column chart that shows where the money went -- and can compare over time -- see a full year of movement. I've been through various charting libraries with it and most recently moved to ECharts[0] -- so I'm planning to expand with Treemap and Sankey style visuals.

    The import process, which I do monthly takes maybe an hour. I'm importing from like 5 bank accounts, 3 payment processors, 4 CC providers. The part that takes the longest is signing into their slow sites, navigating past pop-up/interstitial, getting to their download page and waiting for it to download. Loads of these sites (WF, Chase) have been "modernised" and have some real bullshit UI/UX going on -- lags, no keyboard, elements jump around, forms can't remember state, ctrl+click won't open in a new page cause that damned link isn't actually a link but some nested monster of DIVs with 19 event listeners on each one -- and somehow still all wrong.

    I think the most-best feature would be to have some tool automatically get all my transactions from all these providers into one common format. Gimmee some JSON with like 10 commonly-named fields for the normal stuff and then 52 other BS fields that each provider likes to add (see a PayPal CSV for example). Does that exist and I just don't know?

    [0] https://echarts.apache.org/

  • 30-Days-Of-JavaScript

    30 days of JavaScript programming challenge is a step-by-step guide to learn JavaScript programming language in 30 days. This challenge may take more than 100 days, please just follow your own pace. These videos may help too: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw

    Project mention: Struggling to Learn React Or Any JavaScript Framework? Here are 7 Mistakes Holding Back (And What To Do Instead) 💪🎉 | dev.to | 2024-02-04

    30 Days of JS

  • fabric.js

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

    Project mention: JSON Canvas – An open file format for infinite canvas data | news.ycombinator.com | 2024-03-11
  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • BabylonJS

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

    Project mention: Not only Unity... | /r/opensourcegames | 2023-11-11
  • recharts

    Redefined chart library built with React and D3

    Project mention: recharts VS MUI X - a user suggested alternative | libhunt.com/r/recharts | 2024-01-20
  • 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 —

    Project mention: P5.js: Online Canvas Programming | news.ycombinator.com | 2024-02-27
  • visx

    🐯 visx | visualization components

    Project mention: React Component Libraries | dev.to | 2024-03-13

    Official Website: https://airbnb.io/visx/

  • plotly.js

    Open-source JavaScript charting library behind Plotly and Dash

    Project mention: Build Your Own Uptime Monitor with MeteorJS + Fetch + Plotly.js ☄️🔭 | dev.to | 2024-03-08

    Plotly as our chart renderer

  • plotly

    The interactive graphing library for Python :sparkles: This project now includes Plotly Express!

    Project mention: Top 10 growing data visualization libraries in Python in 2023 | dev.to | 2023-10-11

    Github: https://github.com/plotly/plotly.py

  • Frappe Charts

    Simple, responsive, modern SVG Charts with zero dependencies (by frappe)

    Project mention: Learn SVG with 25 examples – How to code images in HTML | news.ycombinator.com | 2023-12-07

    As a frontend dev who also works in UX and graphics from time to time, I find it helpful to be able to do both, looking at SVGs as both a vector graphics format and a human-readable XML. IME the workflow depends more on whether any SVG is meant to be illustrative (like art) or quantitative (like charts) or interactive and animated/mutable (like a game).

    For something like this bell example (https://svg-tutorial.com/svg/bell), you can certainly hand-code it if you're really math-inclined and can estimate the formulas of curves just by looking at them, but for us mere mortals, it's easier to just draw out the curves in a graphics app then export as an SVG. And for things like the ringer (is that what you call it? the orange ball thing at the bottom of the bell that strikes the bell to make the sound), being able to visually draw it on a canvas, change its size, drag it around and play with its colors and dimensions, etc. is really helpful. Figma is fine for simpler graphics, but it's really more of a UX tool than a graphic design tool, and Illustrator is a lot more powerful. Inkscape is a FOSS option.

    In other circumstances, though, manipulating the SVG XML directly is also very helpful. Let's say you want to programatically generate a bar chart. If you have a big dataset, it's going to take a designer forever to manually plot them and change them every time the data changes. But it's easy for a dev to use Javascript (or any language) to draw each rectangle, programmatically adjust their heights and colors based on the data, add tooltips, etc. And that way you can dynamically update them in real-time whenever the data changes (like if the user selects a different date range, or new events come in). A lot of this is made easier by libs like https://frappe.io/charts or https://apexcharts.com. But before you take that approach, you should know that for complex charts, sometimes Canvas rendering (or just generating graphics in the backend) can be more performant than SVG.

    SVGs can also be animated and interactive, not just with CSS transitions but by directly manipulating the XML geometries, like http://snapsvg.io/demos/ or https://www.svgator.com/ or https://codepen.io/collection/XpwMLO/. This is fine for product pages and such, but for really graphics-intensive apps (full games) it's probably slower than other rendering pipelines. (Not my specialty, won't speculate too much.)

    TLDR Drawing them in a graphics app is usually easier for the designers, but the XML can be programmatically manipulated afterward to great effect.

  • paper.js

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

    Project mention: How Framer/Figma is built? | /r/webdev | 2023-05-29

    I started with angular and paper.js: http://paperjs.org/

  • G2

    📊 The concise and progressive visualization grammar.

  • raphael

    JavaScript Vector Library

  • sigma.js

    A JavaScript library aimed at visualizing graphs of thousands of nodes and edges

    Project mention: Exploring Network Graph Visualization: Graphology and Sigma.js | dev.to | 2023-08-15

    Sigma.js Sigma.js on Github Graphology on Github

  • svg.js

    The lightweight library for manipulating and animating SVG

  • vega

    A visualization grammar.

    Project mention: Plotting XGBoost Models with Elixir | news.ycombinator.com | 2024-01-27

    I recently added support for plotting XGBoost models using Vega (https://vega.github.io/vega/) into the XGBoost Elixir API (https://github.com/acalejos/exgboost).

    Since EXGBoost supports loading trained models across different APIs, you can even train using the Python API and then plot using this Elixir API if you prefer.

  • victory

    A collection of composable React components for building interactive data visualizations

    Project mention: Level Up Your Web App with Stunning React Charts: Introducing the Top 10 React Charts Libraries | dev.to | 2023-07-31

    Victory is a set of modular charting components for React and React Native. Victory makes it easy to get started without sacrificing flexibility. Create one of a kind data visualizations with fully customizable styles and behaviors. Victory uses the same API for web and React Native applications for easy cross-platform charting.

  • trianglify

    Algorithmically generated triangle art

  • c3

    :bar_chart: A D3-based reusable chart library

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2024-03-25.

D3 related posts

Index

What are some of the best open-source D3 projects? This list will help you:

Project Stars
1 freeCodeCamp 385,433
2 d3 107,465
3 three.js 98,165
4 Chart.js 63,235
5 echarts 58,590
6 30-Days-Of-JavaScript 40,649
7 fabric.js 27,273
8 BabylonJS 22,221
9 recharts 22,199
10 p5.js 20,761
11 visx 18,594
12 plotly.js 16,446
13 plotly 15,067
14 Frappe Charts 14,876
15 paper.js 14,176
16 G2 11,939
17 raphael 11,236
18 sigma.js 10,969
19 svg.js 10,818
20 vega 10,813
21 victory 10,745
22 trianglify 10,043
23 c3 9,310
The modern identity platform for B2B SaaS
The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
workos.com