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.
- Awesome dataviz
- JavaScript tools
- Android tools
- C++ tools
- Dashboards and BI
- Flutter tools
- Golang tools
- iOS tools
- Julia tools
- JVM tools
- Machine Learning tools
- .NET tools
- Python tools
- Core plotting libraries
- Matplotlib extensions
- Grammar of graphics and declarative
- Interactive web charts
- Dashboards and data apps
- Exploratory data analysis and profiling
- Maps and geospatial
- 3D and scientific visualization
- High-performance and GPU
- Robotics and computer vision
- Finance and trading
- Terminal plotting
- Text visualization
- R tools
- Ruby tools
- Rust tools
- Markup-based tools
- Other tools
- Resources
- Contributing
- Contributors
- License
- 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.
- 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.
- 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.
- 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.js - JavaScript library for producing dynamic, data-driven visualizations with SVG, Canvas and HTML.
- See Awesome D3 for D3 plugins, examples and tutorials.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- LightlyStudio - Interactive embedding plot and sample grid to explore image and video datasets, with annotation overlays.
- 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.
- 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.
- matplotlib - 2D plotting library.
- pygal - SVG charting library for Python with many chart types and interactive output.
- seaborn - A library for making attractive and informative statistical graphics.
- toyplot - The kid-sized plotting toolkit for Python with grownup-sized goals.
- veusz - Python multiplatform GUI plotting tool and graphing library
- mpld3 - Renders matplotlib figures as interactive D3.js graphics in the browser.
- Quibbler - Your data and anything you plot is effortlessly live and interactive.
- SciencePlots - Matplotlib styles for scientific figures and journal publications.
- syd - A package for making GUIs around matplotlib figures easy, fast, and streamlined.
- altair - Declarative statistical visualizations, based on Vega-Lite.
- ggplot - plotting system based on R's ggplot2.
- 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.
- Lets-Plot - Grammar of graphics plotting library for Python and Kotlin, by JetBrains.
- plotnine - Grammar of graphics for Python, based on R's ggplot2.
- bokeh - Interactive Web Plotting for Python.
- bqplot - Plotting library for IPython/Jupyter notebooks.
- Chartify - Bokeh wrapper that makes it easy for data scientists to create charts.
- ipychart - The power of Chart.js in Jupyter Notebook.
- plotly - Interactive web based visualization built on top of plotly.js
- pyecharts - Python binding for Echarts library.
- Dash - Framework for building data apps and dashboards in Python, built on Plotly.js and React.
- Panel - Data exploration and web app framework for Python that works with many plotting libraries.
- Shiny for Python - Python version of the Shiny reactive framework for interactive data apps.
- Streamlit - Framework for turning Python scripts into interactive data apps.
- Taipy - Python framework for building data and AI web applications with interactive charts and dashboards.
- 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.
- D-Tale - Web-based visual explorer for pandas DataFrames with charts, summaries and correlations.
- LIDA - Generates visualizations and infographics from data with large language models, from Microsoft.
- missingno - provides flexible toolset of data-visualization utilities that allows quick visual summary of the completeness of your dataset, based on matplotlib.
- PyGWalker - Turns dataframes into a drag-and-drop visual analysis UI in Jupyter, based on Graphic Walker.
- Sweetviz - Generates self-contained HTML reports that visualize and compare datasets for exploratory analysis.
- ydata-profiling - Generates statistical analytic reports with visualization for quick data analysis (formerly pandas-profiling).
- Cartopy - Cartographic projections and geospatial data plotting with matplotlib.
- folium - Builds interactive Leaflet.js maps from Python data.
- ipyleaflet - Interactive Leaflet maps in Jupyter notebooks, built on ipywidgets.
- leafmap - Interactive mapping and geospatial analysis in Jupyter with multiple mapping backends.
- Lonboard - Fast, interactive geospatial data visualization in Jupyter, built on deck.gl and GeoArrow.
- prettymaps - Draws stylized maps from OpenStreetMap data, using osmnx and matplotlib.
- PyGMT - Python interface to the Generic Mapping Tools (GMT) for maps and figures in the geosciences.
- mayavi - interactive scientific data visualization and 3D plotting in Python.
- napari - Fast, interactive viewer for multi-dimensional images in Python.
- pptk - Visualize and work with 2D/3D pointclouds
- PyVista – 3D plotting and mesh analysis through a streamlined interface for the Visualization Toolkit (VTK)
- three.py - Easy to use 3D library based on PyOpenGL. Inspired by Three.js.
- vedo - Library for scientific analysis and visualization of 3D objects based on VTK.
- vtk - 3D computer graphics, image processing, and visualization that includes a Python interface.
- yt - Toolkit for analysis and visualization of volumetric data.
- Datashader - Renders very large datasets into accurate images by rasterizing them.
- fastplotlib - GPU-accelerated plotting library built on WGPU and pygfx for fast interactive visualization.
- glumpy - OpenGL scientific visualizations library.
- PyQtGraph - Interactive and realtime 2D/3D/Image plotting and science/engineering widgets.
- VisPy - High-performance scientific visualization based on OpenGL.
- Rerun - An SDK for logging computer vision and robotics data paired with a visualizer for exploring that data over time.
- viser - Web-based 3D visualization library for computer vision and robotics, with GUI building blocks.
- lightweight-charts-python - Python interface to TradingView's Lightweight Charts for financial charts.
- mplfinance - Financial market data visualization (candlestick, OHLC, volume) using matplotlib.
- diagram - Text mode diagrams using UTF-8 characters
- Plotext - Plots data directly in the terminal with a matplotlib-like syntax.
- termgraph - Draws bar charts, histograms and other basic graphs in the terminal, as a CLI or Python library.
- uniplot - Lightweight plotting to the terminal. 4x resolution via Unicode.
- scattertext - Interactive scatterplot visualizations of how language differs between groups of documents.
- WordCloud - Word cloud generator for Python.
- 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
- r2d3 - Renders custom D3.js visualizations from R, in RStudio, R Markdown and Shiny.
- 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
- 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.
- 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.
- 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.
- Pele - Small, dependency-free renderer that turns Mermaid diagrams into SVG, from Obsidian.
- 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.
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.
- Datavzrd - Turns CSV, TSV, JSON or Parquet tables into interactive, self-contained HTML reports, configured with a short YAML file.
- 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.
- Design for Information by Isabel Meirelles.
- The Best American Infographics 2014 by Gareth Cook.
- The Grammar of Graphics by Leland Wilkinson. Basic visualization theory.
- The Visual Display of Quantitative Information by Edward Tufte.
- The Wall Street Journal Guide to Information Graphics by Dona M. Wong
- Visualization Analysis and Design by Tamara Munzner.
- R in Action, Third Edition by Robert I. Kabacoff. A complete learning resource for R and tidyverse.
- Everyday Data Visualization by Desireé Abbott. A field guide for design techniques that will improve the charts, reports, and data dashboards you build every day.
- Interactive Data Visualization for the Web by Scott Murray. Available to read online. Focused on D3.
- Data Visualisation: A Handbook for Data Driven Design by Andy Kirk
- The Data Visualization Catalogue - A collection of data visualization methods, with pros and cons.
- Data Viz Project
- The R Graph Gallery
- From data to Viz
- Chartopedia
- Interactive Chart Chooser by Depict Data Studio
- Wikipedia
- Alberto Cairo
- Andrei Kashcha
- Benjamin Wiederkehr
- Jan Žák
- Mara Averick
- Martin Wattenberg
- Mike Bostock
- Nadieh Bremer
- NYT Graphics
- Visualizing
- Ann K. Emery's blog
- Data Visualization Society - The Data Visualization Society is an organization dedicated to fostering community for data visualization professionals.
- eagereyes
- EvergreenData
- Global Data Tracker - Interactive country-statistics explorer with historical charts and globe views.
- FlowingData
- Information is Beautiful
- Junk Charts - Kaiser Fung takes apart why certain datavizes work/don't work
- Lisa Rost thinks and discusses about why we dataviz
- Makeover Monday blog - #MakeoverMonday on twitter
- Plottie - Open-access library of scientific plots for inspiration and AI visualization tool.
- The Open News blog - Open news has some good dataviz related articles from time to time
- The Planet Thinks - Real-time visualization of Wikipedia edits on a 3D globe
- The Pudding
- Truth & Beauty Operations
- University of Washington Interactive Data Lab Papers
- vis4.net - Random thoughts on visualization and data journalism by Gregor Aisch
- VivaMap - Interactive quality-of-life map of Swiss and Dutch municipalities, scored on an H3 hexagon grid.
- Marble Taxonomy Explorer - Interactive knowledge graph visualization of 1,590 learning topics using Cytoscape.js with force-directed, concentric, and BFS layouts. Source
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!
- Fabio Souto originally created this repo.
- Javier Luraschi is the current maintainer.
- Hal9 is the corporate sponsor.
- Cloudish hosts awesomedataviz.com.
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.