Awesome Dataviz Overview
:chart_with_upwards_trend: A curated list of awesome data visualization libraries and resources.
🏠 Home · 🔥 Feed · 📮 Subscribe · ❤️ Sponsor · 😺 javierluraschi/awesome-dataviz · ⭐ 3.1K · 🏷️ Miscellaneous
Awesome Dataviz
A curated list of awesome open-source data visualizations frameworks, libraries and software. Inspired by awesome-python (⭐145k) and originally created by fasouto.
Contents
JavaScript tools
Charting libraries
- ApexCharts - Modern & Interactive SVG Charts.
- Chart.js - Charts with the canvas tag.
- Chartist.js - Responsive charts with great browser compatibility.
- dc.js (⭐7.4k) is an multi-Dimensional charting built to work natively with crossfilter.
- Dygraphs - Interactive line charts library that works with huge datasets.
- Echarts (⭐53k) - Highly customizable and interactive charts ready for big datasets.
- Epoch (⭐5k) - Perfect to create real-time charts.
- Google Charts - Interactive charts for browsers and mobile devices.
- G2 - an interactive and responsive charting library based on the grammar of graphics, maintained by Alibaba
- GraphicsJS - Lightweight JS graphics library with intuitive API, based on SVG/VML.
- lit-line (⭐13) - SVG Line Chart Web Component - light, fast, interactive & fully responsive.
- MetricsGraphics.js - Optimized for time-series data.
- NVD3 (⭐7.2k) - A reusable charting library written in d3.js.
- Plotly.js (⭐15k) - Powerful declarative library with support for 20 chart types.
- React wrapper (⭐3.8k)
- TechanJS - Stock and financial charts.
- TOAST UI Chart (⭐5.2k) - Complete library with support for legacy browsers.
- Vizzu (⭐1.6k) - Library for animated data visualizations and data stories.
Charting libraries for graphs
- Cola.js - A tool to create diagrams using constraint-based optimization techniques. Works with d3 and svg.js.
- Cytoscape.js - JavaScript library for graph drawing maintained by Cytoscape core developers.
- Sigma.js - JavaScript library dedicated to graph drawing.
- VivaGraph (⭐3.5k) - Graph drawing library for JavaScript.
- G6 (⭐9.3k) - Graph visualization library powered by Javascript & Typescript, maintained by Alibaba
- diagram.js (⭐1.3k) - Javascript diagram library serving as the basis for camunda's online BPMN modeler.
- Uber React Digraph (⭐2.4k) - React.js based directed graph library maintained by UBER.
Maps
- CARTO (⭐2.6k) - CARTO is an open source tool that allows for the storage and visualization of geospatial data on the web.
- Cesium (⭐9.4k) - WebGL 3D globes and maps.
- Deck.gl - WebGL framework for visual exploratory data analysis of large datasets.
- L7 (⭐2.9k) - Large-scale WebGL-powered Geospatial Data Visualization analysis framework, maintained by Alibaba
- L7 Plot (⭐41) - Geospatial Visualization Chart Library, maintained by Alibaba
- DataMaps (⭐3.7k) - Interactive SVG maps using D3.js.
- Dipper (⭐23) - Map application development framework powered by L7, maintained by Alibaba.
- Leaflet - JavaScript library for mobile-friendly interactive maps.
- Mapael (⭐1k) - jQuery plugin based on raphael.js to display vector maps.
d3
React
- BizCharts (⭐6k) - Data visualization library based on G2 (⭐11k) and React
- Graphin (⭐782) - Graph visualization library powered by React & Typescript (built on top of G6, maintained by Alibaba.
- React-vis (⭐8.4k) - React components to build data visualizations.
- Recharts (⭐19k) - Declarative react components to render D3 charts.
- Victory - Composable components for building interactive data visualizations
- nivo (⭐11k) - Supercharged dataviz components for React with isomorphic ability, demo.
- React Svg Textures (⭐29) - Textures.js ported to React. Fully isomorphic.
- DevExtreme React Chart - High-performance plugin-based React chart for Bootstrap and Material Design.
React Native
- F2 (⭐7.8k) - An elegant, interactive and flexible charting library for mobile, maintained by Alibaba
Misc
- Graphology (⭐755) - A robust & multipurpose Graph object for javascript & TypeScript; Serves as a base library to power other graph visualization libraries.
- Piecon (⭐2.3k) - 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.js - A dynamic visualization library including timeline, networks and graphs (2D and 3D).
Android tools
- DecoView (⭐988) - Animated circular wheel chart library.
- MPAndroidChart (⭐36k) - A powerful & easy to use chart library.
- WilliamChart (⭐4.9k) - Simple chart library.
C++ tools
- LargeVis (⭐670) - implementation of the LargeVis paper, used to visualize large-scale and high-dimensional data.
- PlotJuggler (⭐3.1k) - open-source Qt5 application to plot charts (based on Qwt).
- Visualization Toolkit (VTK) - open-source library for 3d Graphics, image processing and visualization.
Golang tools
- svgo (⭐1.9k) - Go Language Library for SVG generation.
- plot (⭐2.3k) - API for building and drawing plots in Go.
- go-echars (⭐5k) - Simple yet powerful data visualizing library for Go.
iOS tools
- BEMSimpleLineGraph (⭐2.7k) - Highly customizable and interactive line graphs.
- Charts (⭐26k) - iOS port of MPAndroidChart. You can create charts for both platforms with very similar code.
- JBChartView (⭐3.8k) - Charting library for both line and bar graphs.
- PNChart (⭐9.7k) - A simple and beautiful chart lib used in Piner and CoinsMan.
Machine Learning tools
- TensorWatch (⭐3.3k) - Debugging and visualization tool for data science and machine learning
Python tools
- altair - Declarative statistical visualizations, based on Vega-Lite.
- bokeh - Interactive Web Plotting for Python.
- Chartify (⭐3.2k) - Bokeh wrapper that makes it easy for data scientists to create charts.
- diagram (⭐394) - Text mode diagrams using UTF-8 characters
- ggplot (⭐3.6k) - plotting system based on R's ggplot2.
- glumpy (⭐1.1k) - OpenGL scientific visualizations library.
- holoviews - Complex and declarative visualizations from annotated data.
- ipychart (⭐62) - The power of Chart.js in Jupyter Notebook.
- mayai - interactive scientific data visualization and 3D plotting in Python.
- matplotlib - 2D plotting library.
- missingno (⭐3.3k) - provides flexible toolset of data-visualization utilities that allows quick visual summary of the completeness of your dataset, based on matplotlib.
- plotly - Interactive web based visualization built on top of plotly.js (⭐15k)
- pptk (⭐532) - Visualize and work with 2D/3D pointclouds
- PyQtGraph - Interactive and realtime 2D/3D/Image plotting and science/engineering widgets.
- PyVista (⭐1.5k) – 3D plotting and mesh analysis through a streamlined interface for the Visualization Toolkit (VTK)
- seaborn - A library for making attractive and informative statistical graphics.
- toyplot - The kid-sized plotting toolkit for Python with grownup-sized goals.
- three.py (⭐84) - Easy to use 3D library based on PyOpenGL. Inspired by Three.js.
- veusz - Python multiplatform GUI plotting tool and graphing library
- VisPy - High-performance scientific visualization based on OpenGL.
- vtk - 3D computer graphics, image processing, and visualization that includes a Python interface.
- pandas-profiling (⭐9.7k) - generates statistical analytic reports with visualization for quick data analysis.
- pyechars (⭐13k) - Python binding for Echarts library.
R tools
- ggplot2 - A plotting system based on the grammar of graphics.
- ggvis - A data visualization package with a syntax similar to ggplot2 which allows you to create rich interactive graphics.
- lattice - trellis graphics for R
- plotly (⭐2.3k) - Interactive charts (including adding interactivity to ggplot2 output), cartograms and simple network diagrams
- rbokeh - R Interface to Bokeh.
- rgl - 3D Visualization Using OpenGL
- shiny - Framework for creating interactive applications/visualisations
- visNetwork - Interactive network visualisations
Ruby tools
- Chartkick (⭐6k) - Create charts with one line of Ruby.
Markup-based tools
- mermaidjs - A simple markdown-like script language for generating charts from text via javascript
- wavedrom.com - Draws your Timing Diagram or Waveform from simple textual description
Other tools
Tools that are not tied to a particular platform or language.
- Charted (⭐2.8k) - A charting tool that produces automatic, shareable charts from any data file.
- Gephi (⭐5k) - An open-source platform for visualizing and manipulating large graphs
- Kepler.gl - Geospatial analysis tool for large-scale data sets.
- Mermaid (⭐51k) - A tool used to generate diagrams and flowcharts from text in a similar manner as markdown.
- RAW - Create web visualizations from CSV or Excel files.
- Spark (⭐5.9k) - Sparklines for the shell. It have several implementations in different languages (⭐5.9k).
- Visual-Insights (⭐342) - Automatic insights extraction and visualization specification in data analysis.
- X6 - diagram creation library for rapid construction of DAG diagrams, ER diagrams, flowcharts and other applications, maintained by Alibaba
- Graphviz - Open source graph visualization command line tool and library. From input text to SVG,PDF,interactive web graph browser.
Resources
Books
- 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.
- Interactive Data Visualization for the Web by Scott Murray. Available to read online. Focused on D3.
- Data Visualization Toolkit by Barrett Austin Clark. Uses D3, Ruby on Rails, Postgres, PostGIS, & Leaflet.
- Data Visualisation: A Handbook for Data Driven Design by Andy Kirk
Catalogs
- 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
Podcasts
Twitter accounts
- Alberto Cairo
- Andrei Kashcha
- Benjamin Wiederkehr
- Jan Žák
- Mara Averick
- Martin Wattenberg
- Mike Bostock
- Nadieh Bremer
- NYT Graphics
- Visualizing
Websites
- Data For Visualization blog - Storytelling with data from the software developer's eye
- 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
- 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
- The Open News blog - Open news has some good dataviz related articles from time to time
- The Pudding
- Truth & Beauty Operations
- University of Washington Interactive Data Lab Papers
- vis4.net - Random thoughts on visualization and data journalism by Gregor Aisch
Contributing
- Please check for duplicates first.
- Keep descriptions short, simple and unbiased.
- Please make an individual commit for each suggestion
- Add a new category if needed.
Thanks for your suggestions!
Contributors
- Fabio Souto originally createad this repo, connect with Fabio at fabiosouto.me.
- Javier Luraschi is the current maintainer, he builds predictive visualizations at Hal9.
If you have any question about this opinionated list, do not hesitate to contact me @javierluraschi on Twitter or open a GitHub issue (⭐3.1k).