Ask HN: What's the best charting library for customer-facing dashboards?

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

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.
surveyjs.io
featured
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.
www.influxdata.com
featured
  • nivo

    nivo provides a rich set of dataviz components, built on top of the awesome d3 and React libraries

  • Another alternative - I haven't tried this but bookmarked that one:

    https://nivo.rocks (https://github.com/plouc/nivo)

  • plot

    A concise API for exploratory data visualization implementing a layered grammar of graphics

  • 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.

    SurveyJS logo
  • Chart.js

    Simple HTML5 Charts using the <canvas> tag

  • vega-lite

    A concise grammar of interactive graphics, built on Vega.

  • I like Vega-Lite: https://vega.github.io/vega-lite/

    It’s built by folks from the same lab as D3, but designed as “a higher-level visual specification language on top of D3” [https://vega.github.io/vega/about/vega-and-d3/]

    My favorite way to prototype a dashboard is to use Streamlit to lay things out and serve it and then use Altair [https://altair-viz.github.io/] to generate the Vega-Lite plots in Python. Then if you need to move to something besides Python to productionize, you can produce the same Vega-Lite definitions using the framework of your choice.

  • Altair

    Declarative statistical visualization library for Python

  • I like Vega-Lite: https://vega.github.io/vega-lite/

    It’s built by folks from the same lab as D3, but designed as “a higher-level visual specification language on top of D3” [https://vega.github.io/vega/about/vega-and-d3/]

    My favorite way to prototype a dashboard is to use Streamlit to lay things out and serve it and then use Altair [https://altair-viz.github.io/] to generate the Vega-Lite plots in Python. Then if you need to move to something besides Python to productionize, you can produce the same Vega-Lite definitions using the framework of your choice.

  • unovis

    Modular data visualization framework for React, Angular, Svelte, Vue, and vanilla TypeScript or JavaScript

  • apexcharts.js

    📊 Interactive JavaScript Charts built on SVG

  • 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.

    InfluxDB logo
  • Cytoscape.js

    Graph theory (network) library for visualisation and analysis

  • ripl

    Ripl provides a unified API for 2D graphics rendering in the browser with a focus towards high performance and interactive data visualization.

  • echarts

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

  • wagtailcharts

    Customisable Chart.js charts in Wagtail

  • +1 for chart.js - use it for most charting needs and even created a Wagtail app[1] that uses Chart.js on the frontend to render charts based on user input.

    [1] https://github.com/overcastsoftware/wagtailcharts

  • recharts

    Redefined chart library built with React and D3

  • Chartjs looks great, but I've never used it so can't recommend personally. I've used https://recharts.org a lot with success.

  • mercury

    Convert Jupyter Notebooks to Web Apps

  • I'm build dashboards in Jupyter Lab. My plotting libraries are Altair, matplotlib, seaborn, Plotly - all work well in notebook.

    My favorite is Altair. It provides interactivity for charts, so you can move/zoom your plots and have tooltips. It is much lighter than Plotly after saving the notebook to ipynb file. Altair charts looks much better than in matplotlib. One drawback, that exporting to PDF doesn't work. To serve notebook as dashboard with code hidden, I use Mercury framework, you can check example https://runmercury.com/tutorials/vega-altair-dashboard/

    disclaimer: I'm author of Mercury framework https://github.com/mljar/mercury

  • evidence

    Business intelligence as code: build fast, interactive data visualizations in pure SQL and markdown

  • We use echarts at https://evidence.dev and have been quite happy with it. We do a lot of embedded analytics and it's worked well for us.

  • plotly.js

    Open-source JavaScript charting library behind Plotly and Dash

  • Plotly is based on D3. Has both open-source version and paid option.

    https://plotly.com/javascript/

  • next-chartist

    ⚛ NPM Package for React Chartist.js component

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • D3 in Depth

    1 project | news.ycombinator.com | 16 May 2024
  • What is the technology stack used to create these live charts?

    2 projects | /r/learnprogramming | 10 Dec 2023
  • Ask HN: What packages can be used to create interactive mathematics simulations?

    5 projects | news.ycombinator.com | 5 Jul 2023
  • Best React charting libraries for data visualizations

    1 project | /r/react | 27 May 2023
  • How do you make these graphics? Is there a software or is it done thru Figma?

    3 projects | /r/webdev | 10 Jan 2023