hal9ai/awesome-dataviz

A curated list of awesome data visualization libraries and resources.

JavaScript

4,432

334 commits

updated Oct 13, 2026

See the code

README

Awesome Dataviz

Awesome Test

A curated list of awesome open-source data visualizations frameworks, libraries and software. Inspired by awesome-python and originally created by fasouto.

Browse it at awesomedataviz.com: search, rankings, live GitHub stats, comparisons and an MCP server for AI assistants, all generated from this README.

Contents

JavaScript tools

Charting libraries

  • Apache ECharts - Highly customizable and interactive charts ready for big datasets.
  • ApexCharts - Modern & Interactive SVG Charts.
  • billboard.js - Reusable D3.js-based chart library with SVG and Canvas rendering, maintained by NAVER.
  • C3.js - D3-based reusable chart library.
  • Cal-Heatmap - Time-series calendar heatmaps, similar to GitHub's contribution graph, built on D3.
  • Carbon Charts - Chart library from IBM's Carbon Design System, built on D3, with React, Angular, Vue and Svelte wrappers.
  • Chart.js - Charts with the canvas tag.
  • chart.xkcd - Chart library that renders line, bar, pie and other charts in a hand-drawn xkcd style.
  • ChartGPU - WebGPU charting library for large datasets, real-time streaming and multi-chart dashboards.
  • Chartist.js - Responsive charts with great browser compatibility.
  • Charts.css - CSS framework that styles HTML tables as charts.
  • dc.js - Multi-dimensional charting built to work natively with crossfilter.
  • DHTMLX Gantt - Gantt chart component for project schedules, with task dependencies and drag-and-drop editing.
  • Dygraphs - Interactive line charts library that works with huge datasets.
  • ECharts GL - Extension for Apache ECharts that adds 3D plots, globe visualizations and WebGL-accelerated series.
  • Epoch - Perfect to create real-time charts.
  • Flot - jQuery plotting library for line, bar and pie charts with zooming and other interactive features.
  • Frappe Charts - Simple, responsive SVG charts with zero dependencies.
  • Frappe Gantt - Simple, interactive SVG Gantt chart library.
  • G2 - An interactive and responsive charting library based on the grammar of graphics, maintained by Alibaba.
  • Glyph - Deterministic chart library that renders the same JSON spec to identical SVG on every platform, with DuckDB inside and an MCP server for AI agents.
  • Google Charts - Interactive charts for browsers and mobile devices.
  • GraphicsJS - Lightweight JS graphics library with intuitive API, based on SVG/VML.
  • heatmap.js - Canvas-based library for rendering heatmaps, with plugins for Leaflet and Google Maps.
  • lit-line - SVG Line Chart Web Component - light, fast, interactive & fully responsive.
  • MetricsGraphics.js - Optimized for time-series data.
  • NVD3 - A reusable charting library written in d3.js.
  • Observable Plot - A JavaScript library for exploratory data visualization.
  • Plotly.js - Powerful declarative library with support for 20 chart types.
  • roughViz - Sketchy, hand-drawn style charts for the browser, based on Rough.js.
  • TOAST UI Chart - Complete library with support for legacy browsers.
  • Unovis - Modular data visualization framework for React, Angular, Svelte, Vue and vanilla TypeScript, by F5.
  • uPlot - Small, fast canvas-based charts for time series, lines, areas, OHLC and bars.
  • VChart - Cross-platform charting library with animation and storytelling features, from ByteDance's VisActor.
  • Vizzu - Library for animated data visualizations and data stories.

Charting libraries for graphs

  • 3d-force-graph - 3D force-directed graph component using Three.js/WebGL.
  • Cola.js - A tool to create diagrams using constraint-based optimization techniques. Works with d3 and svg.js.
  • cosmos.gl - GPU-accelerated force graph layout and rendering engine that runs entirely in WebGL shaders.
  • Cytoscape.js - JavaScript library for graph drawing maintained by Cytoscape core developers.
  • dagre - Directed graph layout library for JavaScript.
  • diagram.js - Javascript diagram library serving as the basis for camunda's online BPMN modeler.
  • elkjs - Eclipse Layout Kernel (ELK) graph layout algorithms for JavaScript.
  • force-graph - Force-directed graph component rendered on HTML5 canvas.
  • G6 - Graph visualization library powered by Javascript & Typescript, maintained by Alibaba
  • JointJS - SVG-based JavaScript diagramming library for interactive diagrams and graph editors.
  • Sigma.js - JavaScript library dedicated to graph drawing.
  • Uber React Digraph - React.js based directed graph library maintained by UBER.
  • VivaGraph - Graph drawing library for JavaScript.
  • Viz.js - Graphviz compiled to WebAssembly for rendering DOT graphs in the browser and Node.js.
  • Vizdom - A declarative graph layout and rendering engine for Javascript/Typescript powered by Rust/WebAssembly.
  • Vue Flow - Flowchart and node-based graph component for Vue 3.
  • X6 - Diagramming library for DAGs, ER diagrams, flowcharts and other graph editors, maintained by Alibaba.
  • xyflow - React Flow and Svelte Flow: libraries for building node-based editors, flow charts and interactive diagrams.

Financial charts

  • chartjs-chart-financial - Chart.js module that adds candlestick and OHLC chart types.
  • dxcharts-lite - Flexible financial charting library based on HTML5 canvas.
  • HQChart - K-line and stock charts with a technical indicator scripting engine, for web pages and WeChat mini programs.
  • KLineChart - Lightweight, highly customizable candlestick (k-line) chart with zero dependencies and mobile support.
  • Lightweight Charts - Performant HTML5 canvas financial charts, from TradingView.
  • React Financial Charts - React components for financial charts: candlesticks, technical indicators, overlays and drawing tools.
  • TechanJS - Stock and financial charts.
  • TradeCanvas - Financial charts with indicators, drawing tools and live feeds, drawn with Canvas 2D or WebGL.
  • Vela - Financial charting library with a headless core, native WebGL2 renderer and plugin SDK, from LuxAlgo.

Maps

  • CanvasGlobe - Interactive Canvas 2D globes and flat world maps for JavaScript and React.
  • Cesium - WebGL 3D globes and maps.
  • COBE - Lightweight WebGL globe library of about 5 kB, with configurable markers.
  • DataMaps - Interactive SVG maps using D3.js.
  • Deck.gl - WebGL framework for visual exploratory data analysis of large datasets.
  • Dipper - Map application development framework powered by L7, maintained by Alibaba.
  • globe.gl - UI component for globe data visualization using Three.js/WebGL.
  • Globedots - Dot-matrix WebGL2 globe in 17 kB with markers, arcs, labels, heat maps, and a day-night line.
  • L7 - Large-scale WebGL-powered Geospatial Data Visualization analysis framework, maintained by Alibaba
  • L7 Plot - Geospatial Visualization Chart Library, maintained by Alibaba
  • Leaflet - JavaScript library for mobile-friendly interactive maps.
  • Mapael - jQuery plugin based on raphael.js to display vector maps.
  • mapcn - Map components for React built on MapLibre GL, styled with Tailwind and compatible with shadcn/ui.
  • MapLibre GL JS - WebGL-based interactive vector tile maps in the browser; community fork of Mapbox GL JS.
  • maptalks.js - Pluggable JavaScript library for integrated 2D/3D maps.
  • OpenLayers - Library for interactive web maps with support for many data sources, formats and projections.
  • Pharos AI - Open-source OSINT conflict-tracking dashboard with geospatial visualization using Deck.gl, MapLibre, and React. (Source Code)
  • Potree - WebGL point cloud viewer for large datasets such as LiDAR scans.
  • React Simple Maps - Composable SVG map charts for React, based on d3-geo and TopoJSON.
  • react-map-gl - React components for MapLibre GL JS and Mapbox GL JS, maintained by vis.gl.
  • TerriaJS - Library for building web-based 2D and 3D geospatial data explorers with catalogs of map layers.
  • VectorAtlas - Free, 80KB SVG world map with one path per country, id-keyed by ISO 3166-1 alpha-2 code, ready for choropleths.

d3

  • D3.js - JavaScript library for producing dynamic, data-driven visualizations with SVG, Canvas and HTML.
  • See Awesome D3 for D3 plugins, examples and tutorials.

React

  • Ant Design Charts - React chart library based on AntV, with statistical charts, graphs and maps.
  • BizCharts - Data visualization library based on G2 and React.
  • DevExtreme React Chart - High-performance plugin-based React chart for Bootstrap and Material Design.
  • echarts-for-react - React wrapper for Apache ECharts.
  • Graphic Walker - An embeddable React component that functions as an open source alternative to Tableau, which allows data scientists to analyze data and visualize patterns with simple drag-and-drop operations.
  • Graphin - Graph visualization library powered by React & Typescript (built on top of G6), maintained by Alibaba.
  • MUI X Charts - React chart components from MUI; the community package is MIT-licensed.
  • nivo - Supercharged dataviz components for React with isomorphic ability, demo.
  • React Svg Textures - Textures.js ported to React. Fully isomorphic.
  • react-chartjs-2 - React components for Chart.js.
  • react-force-graph - React components for 2D, 3D, VR and AR force-directed graphs.
  • react-plotly.js - React component for Plotly.js charts, maintained by Plotly.
  • React-vis - React components to build data visualizations.
  • Recharts - Declarative react components to render D3 charts.
  • Semiotic - React data visualization library for charts, network graphs and streaming data.
  • Tremor - React components for building charts and dashboards, based on Recharts and Tailwind CSS.
  • Victory - Composable components for building interactive data visualizations
  • visx - Low-level visualization components that combine D3 with React, by Airbnb.

React Native

  • F2 - An elegant, interactive and flexible charting library for mobile, maintained by Alibaba
  • React Native Chart Kit - Line, bar, pie, progress and contribution graph charts for React Native.
  • react-native-charts-wrapper - React Native wrapper for MPAndroidChart and DGCharts on Android and iOS.
  • react-native-gifted-charts - Bar, line, area, pie, radar, bubble and candlestick charts for React Native, with animations.
  • react-native-graph - Animated, high-performance line graphs for React Native, built with Skia.
  • react-native-maps - Map view component for iOS and Android in React Native.
  • Victory Native - High-performance charting library for React Native, built on React Native Skia.

Misc

  • asciichart - ASCII line charts for the console in Node.js and browsers, with ports to other languages.
  • blessed-contrib - Terminal dashboards with charts, maps, gauges and tables, built with Node.js and ASCII/ANSI art.
  • Flint - Chart specification language from Microsoft that compiles to Vega-Lite, ECharts, Chart.js or Plotly.
  • gp-treemap - Open source HTML canvas treemap component supporting millions of nodes, and some functional resource usage tools, like disk and S3 usage visualization (GrandPerspective-style)
  • Graphology - A robust & multipurpose Graph object for javascript & TypeScript; Serves as a base library to power other graph visualization libraries.
  • Layer Cake - Graphics framework for building reusable charts with Svelte.
  • LayerChart - Composable Svelte chart components for cartesian, radial, hierarchical, graph and geo charts.
  • Mosaic - Framework for linking databases such as DuckDB with interactive views to visualize large datasets.
  • ng2-charts - Angular directives for Chart.js charts.
  • ngx-charts - Declarative charting framework for Angular, using D3 for math and Angular for rendering.
  • ODataMap - Interactive scientific research data map. Visualizes 250M+ papers across 7 knowledge continents using D3.js. Demo
  • Perspective - Interactive analytics and visualization component for large and streaming datasets, built on WebAssembly.
  • Piecon - Pie charts in your favicon.
  • Textures.js - A library to create SVG patterns.
  • Timeline.js - Create interactive timelines.
  • Vega - Vega is a visualization grammar, a declarative format for creating, saving, and sharing interactive visualization designs.
  • Vega-Lite - is a high-level grammar of interactive graphics. It provides a concise JSON syntax for rapidly generating visualizations to support analysis.
  • vis-timeline - Interactive timelines and 2D graphs with items and ranges, from the vis.js project.
  • Vis.js - A dynamic visualization library including timeline, networks and graphs (2D and 3D).
  • vtk.js - JavaScript implementation of the Visualization Toolkit (VTK) for scientific visualization on the web.
  • Vue Data UI - Vue 3 component library of charts, gauges, tables and other data visualizations.
  • vue-chartjs - Vue.js wrapper for Chart.js.
  • vue-echarts - Vue.js component for Apache ECharts.

Android tools

  • DecoView - Animated circular wheel chart library.
  • HelloCharts - Android chart library with line, column, pie, bubble and combo charts, plus zoom and scroll.
  • MPAndroidChart - A powerful & easy to use chart library.
  • Vico - Extensible chart library for Jetpack Compose and Compose Multiplatform.
  • WilliamChart - Simple chart library.

C++ tools

  • F3D - Cross-platform, fast, and minimalist 3D viewer with scientific visualization tools.
  • ImPlot - Immediate-mode plotting library for Dear ImGui.
  • ImPlot3D - Immediate-mode 3D plotting extension for Dear ImGui, inspired by ImPlot.
  • LargeVis - implementation of the LargeVis paper, used to visualize large-scale and high-dimensional data.
  • MapLibre Native - Interactive vector tile map rendering for iOS, Android and other native platforms.
  • Mapnik - Toolkit for rendering maps, widely used to render OpenStreetMap tiles.
  • Matplot++ - C++ graphics library for data visualization with a MATLAB-like API.
  • OpenSpace - Interactive software for visualizing the known universe, from astronomy catalogs to space missions.
  • ParaView - Multi-platform data analysis and visualization application based on VTK.
  • PlotJuggler - open-source Qt5 application to plot charts (based on Qwt).
  • Polyscope - Viewer and user interface for 3D geometry processing.
  • QCustomPlot - Qt C++ widget for plotting and data visualization.
  • ROOT - CERN framework for analyzing, storing and visualizing large scientific datasets.
  • Serial Studio - Real-time telemetry dashboard for data from serial ports, Bluetooth LE, network sockets and other sources.
  • TTK - Topological data analysis and visualization.
  • VisIt - Visualization and analysis tool for large mesh-based scientific data, developed at LLNL.
  • Visualization Toolkit (VTK) - open-source library for 3d Graphics, image processing and visualization.

Dashboards and BI

  • Apache Superset - Data exploration and visualization platform with a no-code chart builder, SQL IDE and dashboards.
  • DataLens - Business intelligence and data visualization system, originally developed at Yandex.
  • datart - Data visualization platform for building reports, dashboards and data stories.
  • Evidence - Business intelligence as code: build reports and dashboards with SQL and Markdown.
  • Grafana - Observability and data visualization platform for metrics, logs and traces from many data sources.
  • Kibana - Visualization and dashboard UI for data stored in Elasticsearch.
  • Lightdash - BI tool that turns dbt projects into metrics, charts and dashboards.
  • Metabase - Business intelligence tool for querying data and building dashboards, with embedded analytics.
  • Observable Framework - Static site generator for data apps, dashboards and reports using JavaScript, SQL and Markdown.
  • OpenSearch Dashboards - Visualization and dashboard UI for OpenSearch; Apache-2.0 fork of Kibana 7.10.
  • Perses - CNCF dashboard tool and open dashboard specification for observability data such as Prometheus metrics.
  • Redash - Query data sources with SQL, then visualize the results and build dashboards.
  • Rill - BI tool for fast, metrics-first dashboards powered by OLAP engines such as DuckDB and ClickHouse.

Flutter tools

  • fl_chart - Customizable Flutter chart library with line, bar, pie, scatter and radar charts.
  • flutter_map - Vendor-free, customizable interactive map package for Flutter.
  • Graphic - Grammar of graphics data visualization and charting library for Flutter.

Golang tools

  • asciigraph - Lightweight ASCII line graphs for command-line apps.
  • go-diagrams - Diagram-as-code library for system architecture diagrams in Go, rendered with Graphviz.
  • go-echarts - Simple yet powerful data visualizing library for Go.
  • plot - API for building and drawing plots in Go.
  • svgo - Go Language Library for SVG generation.
  • termdash - Terminal-based dashboard library with line charts, bar charts, gauges and donuts.
  • termui - Terminal dashboard and widget library with charts, gauges, sparklines and more.

iOS tools

  • BEMSimpleLineGraph - Highly customizable and interactive line graphs.
  • Charts - iOS port of MPAndroidChart. You can create charts for both platforms with very similar code.
  • ChartView - Line, bar and pie chart views built with SwiftUI.
  • Core Plot - 2D plotting framework for macOS, iOS and tvOS.
  • JBChartView - Charting library for both line and bar graphs.
  • PNChart - A simple and beautiful chart lib used in Piner and CoinsMan.
  • SwiftCharts - Customizable charts library for iOS.

Julia tools

  • AlgebraOfGraphics.jl - Algebraic grammar-of-graphics visualization for Julia, built on Makie.
  • Gadfly.jl - Statistical graphics for Julia based on the grammar of graphics.
  • Makie - Interactive, high-performance plotting ecosystem for Julia with OpenGL, WebGL and Cairo backends.
  • Plots.jl - Plotting meta-package for Julia with a single API over multiple backends.
  • UnicodePlots.jl - Unicode-based scientific plotting in the terminal for Julia.

JVM tools

  • JFreeChart - 2D chart library for Java applications using Swing, JavaFX or server-side rendering.
  • Kandy - Kotlin plotting library with a typed DSL, developed by JetBrains.
  • Lets-Plot for Kotlin - Grammar of graphics plotting API for Kotlin, built on Lets-Plot.
  • XChart - Lightweight Java library for plotting data.

Machine Learning tools

  • Aim - Experiment tracker with a UI to explore and compare ML runs and metrics.
  • BertViz - Visualize attention in Transformer language models such as BERT and GPT-2.
  • Comet - An MLOps platform for tracking, visualizing, and debugging your machine learning workflows from training straight through to production.
  • dtreeviz - Decision tree visualization and model interpretation library for Python.
  • Embedding Atlas - Interactive visualization of large embeddings with search, filtering and density views, by Apple.
  • FiftyOne - Tool for visualizing, curating and evaluating computer vision datasets and models.
  • LIT - Learning Interpretability Tool: interactive visual analysis of ML model behavior, by Google PAIR.
  • Model Explorer - Hierarchical graph visualizer and debugger for ML models, from Google.
  • Netron - Viewer for neural network, deep learning and machine learning models.
  • NN-SVG - Web tool for drawing publication-ready neural network architecture diagrams and exporting them to SVG.
  • Opik - Formerly CometLLM. Debug, evaluate, and monitor LLM applications with tracing and dashboards.
  • Phoenix - ML observability in a notebook with UMAP visualizations
  • PlotNeuralNet - LaTeX code for drawing neural network architecture diagrams.
  • TensorBoard - TensorFlow's visualization toolkit for metrics, model graphs, embeddings and more.
  • TensorWatch - Debugging and visualization tool for data science and machine learning
  • Visdom - Tool for real-time visualization and monitoring of live data such as ML experiments.
  • VisualDL - Deep learning visualization toolkit for metrics, graphs, embeddings and more, from PaddlePaddle.
  • Yellowbrick - Visual analysis and diagnostic tools for machine learning model selection with scikit-learn.

.NET tools

  • LiveCharts2 - Animated, interactive charts, maps and gauges for .NET UI frameworks.
  • Mapsui - .NET map component for MAUI, Avalonia, Uno Platform, Blazor, WPF and WinUI.
  • Microcharts - Simple cross-platform charts for .NET, drawn with SkiaSharp.
  • MSAGL - Microsoft Automatic Graph Layout: tools for graph layout and viewing in .NET.
  • OxyPlot - Cross-platform plotting library for .NET.
  • Plotly.NET - Interactive charts for F# and C#, based on Plotly.js.
  • ScottPlot - Interactive plotting library for .NET with WinForms, WPF, Avalonia, Blazor and other controls.
  • XCharts - Charting and data visualization library for Unity, built on UGUI.

Python tools

  • altair - Declarative statistical visualizations, based on Vega-Lite.
  • bokeh - Interactive Web Plotting for Python.
  • bqplot - Plotting library for IPython/Jupyter notebooks.
  • Cartopy - Cartographic projections and geospatial data plotting with matplotlib.
  • Chartify - Bokeh wrapper that makes it easy for data scientists to create charts.
  • D-Tale - Web-based visual explorer for pandas DataFrames with charts, summaries and correlations.
  • Dash - Framework for building data apps and dashboards in Python, built on Plotly.js and React.
  • Datashader - Renders very large datasets into accurate images by rasterizing them.
  • diagram - Text mode diagrams using UTF-8 characters
  • fastplotlib - GPU-accelerated plotting library built on WGPU and pygfx for fast interactive visualization.
  • folium - Builds interactive Leaflet.js maps from Python data.
  • ggplot - plotting system based on R's ggplot2.
  • glumpy - OpenGL scientific visualizations library.
  • holoviews - Complex and declarative visualizations from annotated data.
  • hvPlot - High-level plotting API for pandas, xarray, Dask, NetworkX and other data structures, built on HoloViews.
  • ipychart - The power of Chart.js in Jupyter Notebook.
  • ipyleaflet - Interactive Leaflet maps in Jupyter notebooks, built on ipywidgets.
  • leafmap - Interactive mapping and geospatial analysis in Jupyter with multiple mapping backends.
  • Lets-Plot - Grammar of graphics plotting library for Python and Kotlin, by JetBrains.
  • LIDA - Generates visualizations and infographics from data with large language models, from Microsoft.
  • lightweight-charts-python - Python interface to TradingView's Lightweight Charts for financial charts.
  • Lonboard - Fast, interactive geospatial data visualization in Jupyter, built on deck.gl and GeoArrow.
  • matplotlib - 2D plotting library.
  • mayavi - interactive scientific data visualization and 3D plotting in Python.
  • missingno - provides flexible toolset of data-visualization utilities that allows quick visual summary of the completeness of your dataset, based on matplotlib.
  • mpld3 - Renders matplotlib figures as interactive D3.js graphics in the browser.
  • mplfinance - Financial market data visualization (candlestick, OHLC, volume) using matplotlib.
  • napari - Fast, interactive viewer for multi-dimensional images in Python.
  • Panel - Data exploration and web app framework for Python that works with many plotting libraries.
  • Plotext - Plots data directly in the terminal with a matplotlib-like syntax.
  • plotly - Interactive web based visualization built on top of plotly.js
  • plotnine - Grammar of graphics for Python, based on R's ggplot2.
  • pptk - Visualize and work with 2D/3D pointclouds
  • prettymaps - Draws stylized maps from OpenStreetMap data, using osmnx and matplotlib.
  • pyecharts - Python binding for Echarts library.
  • pygal - SVG charting library for Python with many chart types and interactive output.
  • PyGMT - Python interface to the Generic Mapping Tools (GMT) for maps and figures in the geosciences.
  • PyGWalker - Turns dataframes into a drag-and-drop visual analysis UI in Jupyter, based on Graphic Walker.
  • PyQtGraph - Interactive and realtime 2D/3D/Image plotting and science/engineering widgets.
  • PyVista – 3D plotting and mesh analysis through a streamlined interface for the Visualization Toolkit (VTK)
  • Quibbler - Your data and anything you plot is effortlessly live and interactive.
  • Rerun - An SDK for logging computer vision and robotics data paired with a visualizer for exploring that data over time.
  • scattertext - Interactive scatterplot visualizations of how language differs between groups of documents.
  • SciencePlots - Matplotlib styles for scientific figures and journal publications.
  • seaborn - A library for making attractive and informative statistical graphics.
  • Shiny for Python - Python version of the Shiny reactive framework for interactive data apps.
  • Streamlit - Framework for turning Python scripts into interactive data apps.
  • Sweetviz - Generates self-contained HTML reports that visualize and compare datasets for exploratory analysis.
  • syd - A package for making GUIs around matplotlib figures easy, fast, and streamlined.
  • Taipy - Python framework for building data and AI web applications with interactive charts and dashboards.
  • termgraph - Draws bar charts, histograms and other basic graphs in the terminal, as a CLI or Python library.
  • three.py - Easy to use 3D library based on PyOpenGL. Inspired by Three.js.
  • toyplot - The kid-sized plotting toolkit for Python with grownup-sized goals.
  • uniplot - Lightweight plotting to the terminal. 4x resolution via Unicode.
  • vedo - Library for scientific analysis and visualization of 3D objects based on VTK.
  • veusz - Python multiplatform GUI plotting tool and graphing library
  • viser - Web-based 3D visualization library for computer vision and robotics, with GUI building blocks.
  • VisPy - High-performance scientific visualization based on OpenGL.
  • Vizro - Low-code toolkit from McKinsey for building data visualization apps and dashboards, built on Dash.
  • Voilà - Turns Jupyter notebooks into standalone interactive web applications.
  • vtk - 3D computer graphics, image processing, and visualization that includes a Python interface.
  • WordCloud - Word cloud generator for Python.
  • ydata-profiling - Generates statistical analytic reports with visualization for quick data analysis (formerly pandas-profiling).
  • yt - Toolkit for analysis and visualization of volumetric data.

R tools

  • circlize - Circular visualization in R, such as chord diagrams and Circos-style genomic plots.
  • ComplexHeatmap - Highly customizable heatmaps for genomic and other matrix data (Bioconductor).
  • DiagrammeR - Graph and network diagrams in R, rendered with Graphviz and mermaid.
  • esquisse - Drag-and-drop interface for building ggplot2 charts in RStudio or Shiny.
  • gganimate - Grammar of animated graphics that extends ggplot2.
  • ggiraph - Makes ggplot2 graphics interactive, with tooltips, hover effects and selections.
  • ggplot2 - A plotting system based on the grammar of graphics.
  • ggpubr - ggplot2-based functions for publication-ready plots with statistical annotations.
  • ggraph - Grammar of graphics for graphs and networks, extending ggplot2.
  • ggrepel - Repels overlapping text labels away from each other in ggplot2 plots.
  • ggstatsplot - ggplot2-based plots with statistical test details included in the graphic.
  • ggvis - A data visualization package with a syntax similar to ggplot2 which allows you to create rich interactive graphics.
  • gt - Builds publication-quality display tables in R.
  • htmlwidgets - Framework for binding JavaScript visualization libraries to R, for use in R Markdown and Shiny.
  • lattice - trellis graphics for R
  • Leaflet for R - R interface to the Leaflet JavaScript library for interactive maps.
  • patchwork - Composes multiple ggplot2 plots into a single figure.
  • plotly - Interactive charts (including adding interactivity to ggplot2 output), cartograms and simple network diagrams
  • rayshader - 2D and 3D mapping and data visualization in R, including 3D renders of ggplot2 plots.
  • rbokeh - R Interface to Bokeh.
  • rgl - 3D Visualization Using OpenGL
  • shiny - Framework for creating interactive applications/visualisations
  • tmap - Thematic maps in R, with a ggplot2-like layered syntax and static or interactive output.
  • visNetwork - Interactive network visualisations

Ruby tools

  • Blazer - Business intelligence tool for Rails apps: explore data with SQL and build charts and dashboards.
  • Chartkick - Create charts with one line of Ruby.
  • Gruff - Graphing library for Ruby that renders charts as images using RMagick.
  • YouPlot - Command-line tool that draws plots in the terminal from piped data.

Rust tools

  • Charming - Chart rendering library for Rust powered by Apache ECharts.
  • malevich - Terminal plotting: line, scatter, bar, histogram, heatmap, box plot, violin and more, with automatic axes.
  • Plotly.rs - Plotly.js-based interactive plotting library for Rust.
  • Plotters - Drawing library for data plotting in Rust, with bitmap, SVG, WebAssembly and GUI backends.

Markup-based tools

  • C4-PlantUML - PlantUML macros and styles for drawing software architecture diagrams with the C4 model.
  • CeTZ - Drawing library for Typst with a TikZ-inspired API, for diagrams and plots.
  • D2 - Declarative diagram scripting language that turns text into diagrams.
  • Diagrams - Diagram as code in Python for prototyping cloud system architectures.
  • Flowchart Fun - Web app that generates flowcharts and diagrams from indented text.
  • flowchart.js - Draws SVG flowcharts from a textual description.
  • Kroki - Unified API that renders diagrams from many text formats, including PlantUML, Mermaid, Graphviz and D2.
  • LikeC4 - Architecture-as-code language and tools that generate live, interactive diagrams.
  • Markmap - Builds interactive mind maps from Markdown.
  • Mermaid - Generate diagrams and flowcharts from markdown-like text definitions, with a live editor.
  • nomnoml - Draws UML diagrams from a simple text syntax.
  • Penrose - Creates diagrams from mathematical notation in plain text, from Carnegie Mellon University.
  • PGF/TikZ - TeX packages for programmatically drawing vector graphics and diagrams in LaTeX.
  • PGFPlots - TeX package for drawing 2D and 3D plots directly in LaTeX documents.
  • PlantUML - Generates UML, Gantt, mind map and other diagrams from plain text.
  • Svgbob - Converts ASCII art diagrams into SVG.
  • WaveDrom - Draws timing diagrams and waveforms from simple textual descriptions.

Other tools

Tools that are not tied to a particular platform or language.

  • Charted - A charting tool that produces automatic, shareable charts from any data file.
  • csvtodashboard - Turn a CSV or Excel file into an auto-built dashboard in the browser - client-side, no upload.
  • Cytoscape - Desktop platform for network analysis and visualization, widely used in bioinformatics.
  • DAC - Dashboard-as-code tool that builds interactive dashboards from YAML and TSX definitions
  • Data Formulator - AI-assisted tool for transforming data and creating visualizations, from Microsoft Research.
  • FlameGraph - Stack trace visualizer that generates interactive SVG flame graphs from profiling data.
  • GeoLibre - Cloud-native GIS app for visualizing and analyzing geospatial data on the web, desktop and mobile.
  • Gephi - An open-source platform for visualizing and manipulating large graphs
  • GMT - Command-line tools for processing geographic data and making publication-quality maps and plots.
  • gnuplot - Command-line driven program for 2D and 3D plots, with many output formats.
  • Gource - Animated visualization of software version control history.
  • Graphviz - Open source graph visualization command line tool and library. From input text to SVG,PDF,interactive web graph browser.
  • ink-uplot - Render uPlot charts in the terminal (React Ink) with truecolor Unicode and kitty/sixel/iTerm2 graphics.
  • JSON Crack - Visualizes JSON, YAML, XML and CSV data as interactive graphs.
  • Kepler.gl - Geospatial analysis tool for large-scale data sets.
  • LabPlot - KDE application for interactive scientific plotting, data analysis and visualization.
  • mcp-server-chart - MCP server from AntV that lets AI agents generate more than 25 chart types.
  • Orange - Visual programming tool for data mining, machine learning and interactive data visualization.
  • Plotivy - Scientific data visualization tool, with AI-generated reproducible Python code, and research-oriented design best practices built in.
  • QGIS - Desktop geographic information system for viewing, editing, analyzing and mapping geospatial data.
  • RATH - Automatic Exploratory Data Analysis & Data Visualization tool which is powered by an AI-assisted Augmented Analytics engine.
  • RAW - Create web visualizations from CSV or Excel files.
  • Resseract Lite - A Data Analytics and Visualization Tool with flexible architecture to visualize and analyse data
  • Sampler - Terminal dashboard that runs shell commands and visualizes their output, configured with YAML.
  • SandDance - Visual data exploration and presentation with animated unit visualizations, from Microsoft Research.
  • sankeydiagram.net - Web app for creating and sharing Sankey diagrams of flows and budgets without code.
  • SankeyMATIC - Web tool for building Sankey diagrams from a plain-text description of flows.
  • Spark - Sparklines for the shell. It has several implementations in different languages.
  • sqliteviz - Browser app that loads CSV, JSON or SQLite files, runs SQL and charts the results offline.
  • Squey - Visualization software for exploring and understanding large amounts of tabular data (using parallel coordinates, timeseries and scatter plots).
  • ttyplot - Real-time terminal plotting utility that reads data from standard input.
  • uMap - Web app for creating maps with OpenStreetMap layers and embedding them in websites.
  • VisiData - Terminal spreadsheet multitool for exploring and arranging tabular data, with basic plotting.

Resources

Books

Catalogs

Podcasts

Twitter accounts

Websites

Contributing

Suggestions are welcome! Please read Suggesting a Library first: it covers what we list, the star and age guidelines, and the entry format.

Thanks for your suggestions!

Contributors

License

Released under the Creative Commons Attribution 4.0 International License (CC BY 4.0).


If you have any question about this opinionated list, do not hesitate to contact me @javierluraschi on Twitter or open a GitHub issue.

awesome-list
chart
data-visualization
dataviz
visualization
visualize-data

hal9ai/awesome-dataviz

A curated list of awesome data visualization libraries and resources.

JavaScript

4,432

334 commits

updated Oct 13, 2026

See the code

README

Awesome Dataviz

Awesome Test

A curated list of awesome open-source data visualizations frameworks, libraries and software. Inspired by awesome-python and originally created by fasouto.

Browse it at awesomedataviz.com: search, rankings, live GitHub stats, comparisons and an MCP server for AI assistants, all generated from this README.

Contents

JavaScript tools

Charting libraries

  • Apache ECharts - Highly customizable and interactive charts ready for big datasets.
  • ApexCharts - Modern & Interactive SVG Charts.
  • billboard.js - Reusable D3.js-based chart library with SVG and Canvas rendering, maintained by NAVER.
  • C3.js - D3-based reusable chart library.
  • Cal-Heatmap - Time-series calendar heatmaps, similar to GitHub's contribution graph, built on D3.
  • Carbon Charts - Chart library from IBM's Carbon Design System, built on D3, with React, Angular, Vue and Svelte wrappers.
  • Chart.js - Charts with the canvas tag.
  • chart.xkcd - Chart library that renders line, bar, pie and other charts in a hand-drawn xkcd style.
  • ChartGPU - WebGPU charting library for large datasets, real-time streaming and multi-chart dashboards.
  • Chartist.js - Responsive charts with great browser compatibility.
  • Charts.css - CSS framework that styles HTML tables as charts.
  • dc.js - Multi-dimensional charting built to work natively with crossfilter.
  • DHTMLX Gantt - Gantt chart component for project schedules, with task dependencies and drag-and-drop editing.
  • Dygraphs - Interactive line charts library that works with huge datasets.
  • ECharts GL - Extension for Apache ECharts that adds 3D plots, globe visualizations and WebGL-accelerated series.
  • Epoch - Perfect to create real-time charts.
  • Flot - jQuery plotting library for line, bar and pie charts with zooming and other interactive features.
  • Frappe Charts - Simple, responsive SVG charts with zero dependencies.
  • Frappe Gantt - Simple, interactive SVG Gantt chart library.
  • G2 - An interactive and responsive charting library based on the grammar of graphics, maintained by Alibaba.
  • Glyph - Deterministic chart library that renders the same JSON spec to identical SVG on every platform, with DuckDB inside and an MCP server for AI agents.
  • Google Charts - Interactive charts for browsers and mobile devices.
  • GraphicsJS - Lightweight JS graphics library with intuitive API, based on SVG/VML.
  • heatmap.js - Canvas-based library for rendering heatmaps, with plugins for Leaflet and Google Maps.
  • lit-line - SVG Line Chart Web Component - light, fast, interactive & fully responsive.
  • MetricsGraphics.js - Optimized for time-series data.
  • NVD3 - A reusable charting library written in d3.js.
  • Observable Plot - A JavaScript library for exploratory data visualization.
  • Plotly.js - Powerful declarative library with support for 20 chart types.
  • roughViz - Sketchy, hand-drawn style charts for the browser, based on Rough.js.
  • TOAST UI Chart - Complete library with support for legacy browsers.
  • Unovis - Modular data visualization framework for React, Angular, Svelte, Vue and vanilla TypeScript, by F5.
  • uPlot - Small, fast canvas-based charts for time series, lines, areas, OHLC and bars.
  • VChart - Cross-platform charting library with animation and storytelling features, from ByteDance's VisActor.
  • Vizzu - Library for animated data visualizations and data stories.

Charting libraries for graphs

  • 3d-force-graph - 3D force-directed graph component using Three.js/WebGL.
  • Cola.js - A tool to create diagrams using constraint-based optimization techniques. Works with d3 and svg.js.
  • cosmos.gl - GPU-accelerated force graph layout and rendering engine that runs entirely in WebGL shaders.
  • Cytoscape.js - JavaScript library for graph drawing maintained by Cytoscape core developers.
  • dagre - Directed graph layout library for JavaScript.
  • diagram.js - Javascript diagram library serving as the basis for camunda's online BPMN modeler.
  • elkjs - Eclipse Layout Kernel (ELK) graph layout algorithms for JavaScript.
  • force-graph - Force-directed graph component rendered on HTML5 canvas.
  • G6 - Graph visualization library powered by Javascript & Typescript, maintained by Alibaba
  • JointJS - SVG-based JavaScript diagramming library for interactive diagrams and graph editors.
  • Sigma.js - JavaScript library dedicated to graph drawing.
  • Uber React Digraph - React.js based directed graph library maintained by UBER.
  • VivaGraph - Graph drawing library for JavaScript.
  • Viz.js - Graphviz compiled to WebAssembly for rendering DOT graphs in the browser and Node.js.
  • Vizdom - A declarative graph layout and rendering engine for Javascript/Typescript powered by Rust/WebAssembly.
  • Vue Flow - Flowchart and node-based graph component for Vue 3.
  • X6 - Diagramming library for DAGs, ER diagrams, flowcharts and other graph editors, maintained by Alibaba.
  • xyflow - React Flow and Svelte Flow: libraries for building node-based editors, flow charts and interactive diagrams.

Financial charts

  • chartjs-chart-financial - Chart.js module that adds candlestick and OHLC chart types.
  • dxcharts-lite - Flexible financial charting library based on HTML5 canvas.
  • HQChart - K-line and stock charts with a technical indicator scripting engine, for web pages and WeChat mini programs.
  • KLineChart - Lightweight, highly customizable candlestick (k-line) chart with zero dependencies and mobile support.
  • Lightweight Charts - Performant HTML5 canvas financial charts, from TradingView.
  • React Financial Charts - React components for financial charts: candlesticks, technical indicators, overlays and drawing tools.
  • TechanJS - Stock and financial charts.
  • TradeCanvas - Financial charts with indicators, drawing tools and live feeds, drawn with Canvas 2D or WebGL.
  • Vela - Financial charting library with a headless core, native WebGL2 renderer and plugin SDK, from LuxAlgo.

Maps

  • CanvasGlobe - Interactive Canvas 2D globes and flat world maps for JavaScript and React.
  • Cesium - WebGL 3D globes and maps.
  • COBE - Lightweight WebGL globe library of about 5 kB, with configurable markers.
  • DataMaps - Interactive SVG maps using D3.js.
  • Deck.gl - WebGL framework for visual exploratory data analysis of large datasets.
  • Dipper - Map application development framework powered by L7, maintained by Alibaba.
  • globe.gl - UI component for globe data visualization using Three.js/WebGL.
  • Globedots - Dot-matrix WebGL2 globe in 17 kB with markers, arcs, labels, heat maps, and a day-night line.
  • L7 - Large-scale WebGL-powered Geospatial Data Visualization analysis framework, maintained by Alibaba
  • L7 Plot - Geospatial Visualization Chart Library, maintained by Alibaba
  • Leaflet - JavaScript library for mobile-friendly interactive maps.
  • Mapael - jQuery plugin based on raphael.js to display vector maps.
  • mapcn - Map components for React built on MapLibre GL, styled with Tailwind and compatible with shadcn/ui.
  • MapLibre GL JS - WebGL-based interactive vector tile maps in the browser; community fork of Mapbox GL JS.
  • maptalks.js - Pluggable JavaScript library for integrated 2D/3D maps.
  • OpenLayers - Library for interactive web maps with support for many data sources, formats and projections.
  • Pharos AI - Open-source OSINT conflict-tracking dashboard with geospatial visualization using Deck.gl, MapLibre, and React. (Source Code)
  • Potree - WebGL point cloud viewer for large datasets such as LiDAR scans.
  • React Simple Maps - Composable SVG map charts for React, based on d3-geo and TopoJSON.
  • react-map-gl - React components for MapLibre GL JS and Mapbox GL JS, maintained by vis.gl.
  • TerriaJS - Library for building web-based 2D and 3D geospatial data explorers with catalogs of map layers.
  • VectorAtlas - Free, 80KB SVG world map with one path per country, id-keyed by ISO 3166-1 alpha-2 code, ready for choropleths.

d3

  • D3.js - JavaScript library for producing dynamic, data-driven visualizations with SVG, Canvas and HTML.
  • See Awesome D3 for D3 plugins, examples and tutorials.

React

  • Ant Design Charts - React chart library based on AntV, with statistical charts, graphs and maps.
  • BizCharts - Data visualization library based on G2 and React.
  • DevExtreme React Chart - High-performance plugin-based React chart for Bootstrap and Material Design.
  • echarts-for-react - React wrapper for Apache ECharts.
  • Graphic Walker - An embeddable React component that functions as an open source alternative to Tableau, which allows data scientists to analyze data and visualize patterns with simple drag-and-drop operations.
  • Graphin - Graph visualization library powered by React & Typescript (built on top of G6), maintained by Alibaba.
  • MUI X Charts - React chart components from MUI; the community package is MIT-licensed.
  • nivo - Supercharged dataviz components for React with isomorphic ability, demo.
  • React Svg Textures - Textures.js ported to React. Fully isomorphic.
  • react-chartjs-2 - React components for Chart.js.
  • react-force-graph - React components for 2D, 3D, VR and AR force-directed graphs.
  • react-plotly.js - React component for Plotly.js charts, maintained by Plotly.
  • React-vis - React components to build data visualizations.
  • Recharts - Declarative react components to render D3 charts.
  • Semiotic - React data visualization library for charts, network graphs and streaming data.
  • Tremor - React components for building charts and dashboards, based on Recharts and Tailwind CSS.
  • Victory - Composable components for building interactive data visualizations
  • visx - Low-level visualization components that combine D3 with React, by Airbnb.

React Native

  • F2 - An elegant, interactive and flexible charting library for mobile, maintained by Alibaba
  • React Native Chart Kit - Line, bar, pie, progress and contribution graph charts for React Native.
  • react-native-charts-wrapper - React Native wrapper for MPAndroidChart and DGCharts on Android and iOS.
  • react-native-gifted-charts - Bar, line, area, pie, radar, bubble and candlestick charts for React Native, with animations.
  • react-native-graph - Animated, high-performance line graphs for React Native, built with Skia.
  • react-native-maps - Map view component for iOS and Android in React Native.
  • Victory Native - High-performance charting library for React Native, built on React Native Skia.

Misc

  • asciichart - ASCII line charts for the console in Node.js and browsers, with ports to other languages.
  • blessed-contrib - Terminal dashboards with charts, maps, gauges and tables, built with Node.js and ASCII/ANSI art.
  • Flint - Chart specification language from Microsoft that compiles to Vega-Lite, ECharts, Chart.js or Plotly.
  • gp-treemap - Open source HTML canvas treemap component supporting millions of nodes, and some functional resource usage tools, like disk and S3 usage visualization (GrandPerspective-style)
  • Graphology - A robust & multipurpose Graph object for javascript & TypeScript; Serves as a base library to power other graph visualization libraries.
  • Layer Cake - Graphics framework for building reusable charts with Svelte.
  • LayerChart - Composable Svelte chart components for cartesian, radial, hierarchical, graph and geo charts.
  • Mosaic - Framework for linking databases such as DuckDB with interactive views to visualize large datasets.
  • ng2-charts - Angular directives for Chart.js charts.
  • ngx-charts - Declarative charting framework for Angular, using D3 for math and Angular for rendering.
  • ODataMap - Interactive scientific research data map. Visualizes 250M+ papers across 7 knowledge continents using D3.js. Demo
  • Perspective - Interactive analytics and visualization component for large and streaming datasets, built on WebAssembly.
  • Piecon - Pie charts in your favicon.
  • Textures.js - A library to create SVG patterns.
  • Timeline.js - Create interactive timelines.
  • Vega - Vega is a visualization grammar, a declarative format for creating, saving, and sharing interactive visualization designs.
  • Vega-Lite - is a high-level grammar of interactive graphics. It provides a concise JSON syntax for rapidly generating visualizations to support analysis.
  • vis-timeline - Interactive timelines and 2D graphs with items and ranges, from the vis.js project.
  • Vis.js - A dynamic visualization library including timeline, networks and graphs (2D and 3D).
  • vtk.js - JavaScript implementation of the Visualization Toolkit (VTK) for scientific visualization on the web.
  • Vue Data UI - Vue 3 component library of charts, gauges, tables and other data visualizations.
  • vue-chartjs - Vue.js wrapper for Chart.js.
  • vue-echarts - Vue.js component for Apache ECharts.

Android tools

  • DecoView - Animated circular wheel chart library.
  • HelloCharts - Android chart library with line, column, pie, bubble and combo charts, plus zoom and scroll.
  • MPAndroidChart - A powerful & easy to use chart library.
  • Vico - Extensible chart library for Jetpack Compose and Compose Multiplatform.
  • WilliamChart - Simple chart library.

C++ tools

  • F3D - Cross-platform, fast, and minimalist 3D viewer with scientific visualization tools.
  • ImPlot - Immediate-mode plotting library for Dear ImGui.
  • ImPlot3D - Immediate-mode 3D plotting extension for Dear ImGui, inspired by ImPlot.
  • LargeVis - implementation of the LargeVis paper, used to visualize large-scale and high-dimensional data.
  • MapLibre Native - Interactive vector tile map rendering for iOS, Android and other native platforms.
  • Mapnik - Toolkit for rendering maps, widely used to render OpenStreetMap tiles.
  • Matplot++ - C++ graphics library for data visualization with a MATLAB-like API.
  • OpenSpace - Interactive software for visualizing the known universe, from astronomy catalogs to space missions.
  • ParaView - Multi-platform data analysis and visualization application based on VTK.
  • PlotJuggler - open-source Qt5 application to plot charts (based on Qwt).
  • Polyscope - Viewer and user interface for 3D geometry processing.
  • QCustomPlot - Qt C++ widget for plotting and data visualization.
  • ROOT - CERN framework for analyzing, storing and visualizing large scientific datasets.
  • Serial Studio - Real-time telemetry dashboard for data from serial ports, Bluetooth LE, network sockets and other sources.
  • TTK - Topological data analysis and visualization.
  • VisIt - Visualization and analysis tool for large mesh-based scientific data, developed at LLNL.
  • Visualization Toolkit (VTK) - open-source library for 3d Graphics, image processing and visualization.

Dashboards and BI

  • Apache Superset - Data exploration and visualization platform with a no-code chart builder, SQL IDE and dashboards.
  • DataLens - Business intelligence and data visualization system, originally developed at Yandex.
  • datart - Data visualization platform for building reports, dashboards and data stories.
  • Evidence - Business intelligence as code: build reports and dashboards with SQL and Markdown.
  • Grafana - Observability and data visualization platform for metrics, logs and traces from many data sources.
  • Kibana - Visualization and dashboard UI for data stored in Elasticsearch.
  • Lightdash - BI tool that turns dbt projects into metrics, charts and dashboards.
  • Metabase - Business intelligence tool for querying data and building dashboards, with embedded analytics.
  • Observable Framework - Static site generator for data apps, dashboards and reports using JavaScript, SQL and Markdown.
  • OpenSearch Dashboards - Visualization and dashboard UI for OpenSearch; Apache-2.0 fork of Kibana 7.10.
  • Perses - CNCF dashboard tool and open dashboard specification for observability data such as Prometheus metrics.
  • Redash - Query data sources with SQL, then visualize the results and build dashboards.
  • Rill - BI tool for fast, metrics-first dashboards powered by OLAP engines such as DuckDB and ClickHouse.

Flutter tools

  • fl_chart - Customizable Flutter chart library with line, bar, pie, scatter and radar charts.
  • flutter_map - Vendor-free, customizable interactive map package for Flutter.
  • Graphic - Grammar of graphics data visualization and charting library for Flutter.

Golang tools

  • asciigraph - Lightweight ASCII line graphs for command-line apps.
  • go-diagrams - Diagram-as-code library for system architecture diagrams in Go, rendered with Graphviz.
  • go-echarts - Simple yet powerful data visualizing library for Go.
  • plot - API for building and drawing plots in Go.
  • svgo - Go Language Library for SVG generation.
  • termdash - Terminal-based dashboard library with line charts, bar charts, gauges and donuts.
  • termui - Terminal dashboard and widget library with charts, gauges, sparklines and more.

iOS tools

  • BEMSimpleLineGraph - Highly customizable and interactive line graphs.
  • Charts - iOS port of MPAndroidChart. You can create charts for both platforms with very similar code.
  • ChartView - Line, bar and pie chart views built with SwiftUI.
  • Core Plot - 2D plotting framework for macOS, iOS and tvOS.
  • JBChartView - Charting library for both line and bar graphs.
  • PNChart - A simple and beautiful chart lib used in Piner and CoinsMan.
  • SwiftCharts - Customizable charts library for iOS.

Julia tools

  • AlgebraOfGraphics.jl - Algebraic grammar-of-graphics visualization for Julia, built on Makie.
  • Gadfly.jl - Statistical graphics for Julia based on the grammar of graphics.
  • Makie - Interactive, high-performance plotting ecosystem for Julia with OpenGL, WebGL and Cairo backends.
  • Plots.jl - Plotting meta-package for Julia with a single API over multiple backends.
  • UnicodePlots.jl - Unicode-based scientific plotting in the terminal for Julia.

JVM tools

  • JFreeChart - 2D chart library for Java applications using Swing, JavaFX or server-side rendering.
  • Kandy - Kotlin plotting library with a typed DSL, developed by JetBrains.
  • Lets-Plot for Kotlin - Grammar of graphics plotting API for Kotlin, built on Lets-Plot.
  • XChart - Lightweight Java library for plotting data.

Machine Learning tools

  • Aim - Experiment tracker with a UI to explore and compare ML runs and metrics.
  • BertViz - Visualize attention in Transformer language models such as BERT and GPT-2.
  • Comet - An MLOps platform for tracking, visualizing, and debugging your machine learning workflows from training straight through to production.
  • dtreeviz - Decision tree visualization and model interpretation library for Python.
  • Embedding Atlas - Interactive visualization of large embeddings with search, filtering and density views, by Apple.
  • FiftyOne - Tool for visualizing, curating and evaluating computer vision datasets and models.
  • LIT - Learning Interpretability Tool: interactive visual analysis of ML model behavior, by Google PAIR.
  • Model Explorer - Hierarchical graph visualizer and debugger for ML models, from Google.
  • Netron - Viewer for neural network, deep learning and machine learning models.
  • NN-SVG - Web tool for drawing publication-ready neural network architecture diagrams and exporting them to SVG.
  • Opik - Formerly CometLLM. Debug, evaluate, and monitor LLM applications with tracing and dashboards.
  • Phoenix - ML observability in a notebook with UMAP visualizations
  • PlotNeuralNet - LaTeX code for drawing neural network architecture diagrams.
  • TensorBoard - TensorFlow's visualization toolkit for metrics, model graphs, embeddings and more.
  • TensorWatch - Debugging and visualization tool for data science and machine learning
  • Visdom - Tool for real-time visualization and monitoring of live data such as ML experiments.
  • VisualDL - Deep learning visualization toolkit for metrics, graphs, embeddings and more, from PaddlePaddle.
  • Yellowbrick - Visual analysis and diagnostic tools for machine learning model selection with scikit-learn.

.NET tools

  • LiveCharts2 - Animated, interactive charts, maps and gauges for .NET UI frameworks.
  • Mapsui - .NET map component for MAUI, Avalonia, Uno Platform, Blazor, WPF and WinUI.
  • Microcharts - Simple cross-platform charts for .NET, drawn with SkiaSharp.
  • MSAGL - Microsoft Automatic Graph Layout: tools for graph layout and viewing in .NET.
  • OxyPlot - Cross-platform plotting library for .NET.
  • Plotly.NET - Interactive charts for F# and C#, based on Plotly.js.
  • ScottPlot - Interactive plotting library for .NET with WinForms, WPF, Avalonia, Blazor and other controls.
  • XCharts - Charting and data visualization library for Unity, built on UGUI.

Python tools

  • altair - Declarative statistical visualizations, based on Vega-Lite.
  • bokeh - Interactive Web Plotting for Python.
  • bqplot - Plotting library for IPython/Jupyter notebooks.
  • Cartopy - Cartographic projections and geospatial data plotting with matplotlib.
  • Chartify - Bokeh wrapper that makes it easy for data scientists to create charts.
  • D-Tale - Web-based visual explorer for pandas DataFrames with charts, summaries and correlations.
  • Dash - Framework for building data apps and dashboards in Python, built on Plotly.js and React.
  • Datashader - Renders very large datasets into accurate images by rasterizing them.
  • diagram - Text mode diagrams using UTF-8 characters
  • fastplotlib - GPU-accelerated plotting library built on WGPU and pygfx for fast interactive visualization.
  • folium - Builds interactive Leaflet.js maps from Python data.
  • ggplot - plotting system based on R's ggplot2.
  • glumpy - OpenGL scientific visualizations library.
  • holoviews - Complex and declarative visualizations from annotated data.
  • hvPlot - High-level plotting API for pandas, xarray, Dask, NetworkX and other data structures, built on HoloViews.
  • ipychart - The power of Chart.js in Jupyter Notebook.
  • ipyleaflet - Interactive Leaflet maps in Jupyter notebooks, built on ipywidgets.
  • leafmap - Interactive mapping and geospatial analysis in Jupyter with multiple mapping backends.
  • Lets-Plot - Grammar of graphics plotting library for Python and Kotlin, by JetBrains.
  • LIDA - Generates visualizations and infographics from data with large language models, from Microsoft.
  • lightweight-charts-python - Python interface to TradingView's Lightweight Charts for financial charts.
  • Lonboard - Fast, interactive geospatial data visualization in Jupyter, built on deck.gl and GeoArrow.
  • matplotlib - 2D plotting library.
  • mayavi - interactive scientific data visualization and 3D plotting in Python.
  • missingno - provides flexible toolset of data-visualization utilities that allows quick visual summary of the completeness of your dataset, based on matplotlib.
  • mpld3 - Renders matplotlib figures as interactive D3.js graphics in the browser.
  • mplfinance - Financial market data visualization (candlestick, OHLC, volume) using matplotlib.
  • napari - Fast, interactive viewer for multi-dimensional images in Python.
  • Panel - Data exploration and web app framework for Python that works with many plotting libraries.
  • Plotext - Plots data directly in the terminal with a matplotlib-like syntax.
  • plotly - Interactive web based visualization built on top of plotly.js
  • plotnine - Grammar of graphics for Python, based on R's ggplot2.
  • pptk - Visualize and work with 2D/3D pointclouds
  • prettymaps - Draws stylized maps from OpenStreetMap data, using osmnx and matplotlib.
  • pyecharts - Python binding for Echarts library.
  • pygal - SVG charting library for Python with many chart types and interactive output.
  • PyGMT - Python interface to the Generic Mapping Tools (GMT) for maps and figures in the geosciences.
  • PyGWalker - Turns dataframes into a drag-and-drop visual analysis UI in Jupyter, based on Graphic Walker.
  • PyQtGraph - Interactive and realtime 2D/3D/Image plotting and science/engineering widgets.
  • PyVista – 3D plotting and mesh analysis through a streamlined interface for the Visualization Toolkit (VTK)
  • Quibbler - Your data and anything you plot is effortlessly live and interactive.
  • Rerun - An SDK for logging computer vision and robotics data paired with a visualizer for exploring that data over time.
  • scattertext - Interactive scatterplot visualizations of how language differs between groups of documents.
  • SciencePlots - Matplotlib styles for scientific figures and journal publications.
  • seaborn - A library for making attractive and informative statistical graphics.
  • Shiny for Python - Python version of the Shiny reactive framework for interactive data apps.
  • Streamlit - Framework for turning Python scripts into interactive data apps.
  • Sweetviz - Generates self-contained HTML reports that visualize and compare datasets for exploratory analysis.
  • syd - A package for making GUIs around matplotlib figures easy, fast, and streamlined.
  • Taipy - Python framework for building data and AI web applications with interactive charts and dashboards.
  • termgraph - Draws bar charts, histograms and other basic graphs in the terminal, as a CLI or Python library.
  • three.py - Easy to use 3D library based on PyOpenGL. Inspired by Three.js.
  • toyplot - The kid-sized plotting toolkit for Python with grownup-sized goals.
  • uniplot - Lightweight plotting to the terminal. 4x resolution via Unicode.
  • vedo - Library for scientific analysis and visualization of 3D objects based on VTK.
  • veusz - Python multiplatform GUI plotting tool and graphing library
  • viser - Web-based 3D visualization library for computer vision and robotics, with GUI building blocks.
  • VisPy - High-performance scientific visualization based on OpenGL.
  • Vizro - Low-code toolkit from McKinsey for building data visualization apps and dashboards, built on Dash.
  • Voilà - Turns Jupyter notebooks into standalone interactive web applications.
  • vtk - 3D computer graphics, image processing, and visualization that includes a Python interface.
  • WordCloud - Word cloud generator for Python.
  • ydata-profiling - Generates statistical analytic reports with visualization for quick data analysis (formerly pandas-profiling).
  • yt - Toolkit for analysis and visualization of volumetric data.

R tools

  • circlize - Circular visualization in R, such as chord diagrams and Circos-style genomic plots.
  • ComplexHeatmap - Highly customizable heatmaps for genomic and other matrix data (Bioconductor).
  • DiagrammeR - Graph and network diagrams in R, rendered with Graphviz and mermaid.
  • esquisse - Drag-and-drop interface for building ggplot2 charts in RStudio or Shiny.
  • gganimate - Grammar of animated graphics that extends ggplot2.
  • ggiraph - Makes ggplot2 graphics interactive, with tooltips, hover effects and selections.
  • ggplot2 - A plotting system based on the grammar of graphics.
  • ggpubr - ggplot2-based functions for publication-ready plots with statistical annotations.
  • ggraph - Grammar of graphics for graphs and networks, extending ggplot2.
  • ggrepel - Repels overlapping text labels away from each other in ggplot2 plots.
  • ggstatsplot - ggplot2-based plots with statistical test details included in the graphic.
  • ggvis - A data visualization package with a syntax similar to ggplot2 which allows you to create rich interactive graphics.
  • gt - Builds publication-quality display tables in R.
  • htmlwidgets - Framework for binding JavaScript visualization libraries to R, for use in R Markdown and Shiny.
  • lattice - trellis graphics for R
  • Leaflet for R - R interface to the Leaflet JavaScript library for interactive maps.
  • patchwork - Composes multiple ggplot2 plots into a single figure.
  • plotly - Interactive charts (including adding interactivity to ggplot2 output), cartograms and simple network diagrams
  • rayshader - 2D and 3D mapping and data visualization in R, including 3D renders of ggplot2 plots.
  • rbokeh - R Interface to Bokeh.
  • rgl - 3D Visualization Using OpenGL
  • shiny - Framework for creating interactive applications/visualisations
  • tmap - Thematic maps in R, with a ggplot2-like layered syntax and static or interactive output.
  • visNetwork - Interactive network visualisations

Ruby tools

  • Blazer - Business intelligence tool for Rails apps: explore data with SQL and build charts and dashboards.
  • Chartkick - Create charts with one line of Ruby.
  • Gruff - Graphing library for Ruby that renders charts as images using RMagick.
  • YouPlot - Command-line tool that draws plots in the terminal from piped data.

Rust tools

  • Charming - Chart rendering library for Rust powered by Apache ECharts.
  • malevich - Terminal plotting: line, scatter, bar, histogram, heatmap, box plot, violin and more, with automatic axes.
  • Plotly.rs - Plotly.js-based interactive plotting library for Rust.
  • Plotters - Drawing library for data plotting in Rust, with bitmap, SVG, WebAssembly and GUI backends.

Markup-based tools

  • C4-PlantUML - PlantUML macros and styles for drawing software architecture diagrams with the C4 model.
  • CeTZ - Drawing library for Typst with a TikZ-inspired API, for diagrams and plots.
  • D2 - Declarative diagram scripting language that turns text into diagrams.
  • Diagrams - Diagram as code in Python for prototyping cloud system architectures.
  • Flowchart Fun - Web app that generates flowcharts and diagrams from indented text.
  • flowchart.js - Draws SVG flowcharts from a textual description.
  • Kroki - Unified API that renders diagrams from many text formats, including PlantUML, Mermaid, Graphviz and D2.
  • LikeC4 - Architecture-as-code language and tools that generate live, interactive diagrams.
  • Markmap - Builds interactive mind maps from Markdown.
  • Mermaid - Generate diagrams and flowcharts from markdown-like text definitions, with a live editor.
  • nomnoml - Draws UML diagrams from a simple text syntax.
  • Penrose - Creates diagrams from mathematical notation in plain text, from Carnegie Mellon University.
  • PGF/TikZ - TeX packages for programmatically drawing vector graphics and diagrams in LaTeX.
  • PGFPlots - TeX package for drawing 2D and 3D plots directly in LaTeX documents.
  • PlantUML - Generates UML, Gantt, mind map and other diagrams from plain text.
  • Svgbob - Converts ASCII art diagrams into SVG.
  • WaveDrom - Draws timing diagrams and waveforms from simple textual descriptions.

Other tools

Tools that are not tied to a particular platform or language.

  • Charted - A charting tool that produces automatic, shareable charts from any data file.
  • csvtodashboard - Turn a CSV or Excel file into an auto-built dashboard in the browser - client-side, no upload.
  • Cytoscape - Desktop platform for network analysis and visualization, widely used in bioinformatics.
  • DAC - Dashboard-as-code tool that builds interactive dashboards from YAML and TSX definitions
  • Data Formulator - AI-assisted tool for transforming data and creating visualizations, from Microsoft Research.
  • FlameGraph - Stack trace visualizer that generates interactive SVG flame graphs from profiling data.
  • GeoLibre - Cloud-native GIS app for visualizing and analyzing geospatial data on the web, desktop and mobile.
  • Gephi - An open-source platform for visualizing and manipulating large graphs
  • GMT - Command-line tools for processing geographic data and making publication-quality maps and plots.
  • gnuplot - Command-line driven program for 2D and 3D plots, with many output formats.
  • Gource - Animated visualization of software version control history.
  • Graphviz - Open source graph visualization command line tool and library. From input text to SVG,PDF,interactive web graph browser.
  • ink-uplot - Render uPlot charts in the terminal (React Ink) with truecolor Unicode and kitty/sixel/iTerm2 graphics.
  • JSON Crack - Visualizes JSON, YAML, XML and CSV data as interactive graphs.
  • Kepler.gl - Geospatial analysis tool for large-scale data sets.
  • LabPlot - KDE application for interactive scientific plotting, data analysis and visualization.
  • mcp-server-chart - MCP server from AntV that lets AI agents generate more than 25 chart types.
  • Orange - Visual programming tool for data mining, machine learning and interactive data visualization.
  • Plotivy - Scientific data visualization tool, with AI-generated reproducible Python code, and research-oriented design best practices built in.
  • QGIS - Desktop geographic information system for viewing, editing, analyzing and mapping geospatial data.
  • RATH - Automatic Exploratory Data Analysis & Data Visualization tool which is powered by an AI-assisted Augmented Analytics engine.
  • RAW - Create web visualizations from CSV or Excel files.
  • Resseract Lite - A Data Analytics and Visualization Tool with flexible architecture to visualize and analyse data
  • Sampler - Terminal dashboard that runs shell commands and visualizes their output, configured with YAML.
  • SandDance - Visual data exploration and presentation with animated unit visualizations, from Microsoft Research.
  • sankeydiagram.net - Web app for creating and sharing Sankey diagrams of flows and budgets without code.
  • SankeyMATIC - Web tool for building Sankey diagrams from a plain-text description of flows.
  • Spark - Sparklines for the shell. It has several implementations in different languages.
  • sqliteviz - Browser app that loads CSV, JSON or SQLite files, runs SQL and charts the results offline.
  • Squey - Visualization software for exploring and understanding large amounts of tabular data (using parallel coordinates, timeseries and scatter plots).
  • ttyplot - Real-time terminal plotting utility that reads data from standard input.
  • uMap - Web app for creating maps with OpenStreetMap layers and embedding them in websites.
  • VisiData - Terminal spreadsheet multitool for exploring and arranging tabular data, with basic plotting.

Resources

Books

Catalogs

Podcasts

Twitter accounts

Websites

Contributing

Suggestions are welcome! Please read Suggesting a Library first: it covers what we list, the star and age guidelines, and the entry format.

Thanks for your suggestions!

Contributors

License

Released under the Creative Commons Attribution 4.0 International License (CC BY 4.0).


If you have any question about this opinionated list, do not hesitate to contact me @javierluraschi on Twitter or open a GitHub issue.

awesome-list
chart
data-visualization
dataviz
visualization
visualize-data

Significant stargazers

Vasco Asturiano

2,330 followers · starred Aug 2017

Geoff Cant

216 followers · starred Jul 2015

Kovarththanan Rajaratnam

11 followers · starred Oct 2017

Emile Rolley ⏚

41 followers · starred Jan 2024