Files
awesome-awesomeness/readmes/dataviz.md2
2024-04-20 19:22:54 +02:00

261 lines
19 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Awesome Dataviz
[![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) ![Test](https://github.com/javierluraschi/awesome-dataviz/actions/workflows/main.yaml/badge.svg)
A curated list of awesome **open-source** data visualizations frameworks, libraries and software. Inspired by [awesome-python](https://github.com/vinta/awesome-python) and originally created by [fasouto](https://github.com/fasouto).
## Contents
- [Awesome dataviz](#awesome-dataviz)
- [JavaScript tools](#javascript-tools)
- [Charting libraries](#charting-libraries)
- [Charting libraries for graphs](#charting-libraries-for-graphs)
- [Maps](#maps)
- [d3](#d3)
- [React](#react)
- [Misc](#misc)
- [Android tools](#android-tools)
- [C++ tools](#c-tools)
- [Golang tools](#golang-tools)
- [iOS tools](#ios-tools)
- [Python tools](#python-tools)
- [R tools](#r-tools)
- [Ruby tools](#ruby-tools)
- [Markup-based tools](#markup-based-tools)
- [Other tools](#other-tools)
- [Resources](#resources)
- [Books](#books)
- [Catalogs](#catalogs)
- [Podcasts](#podcasts)
- [Twitter accounts](#twitter-accounts)
- [Websites](#websites)
- [Contributing](#contributing)
- [License](#license)
## JavaScript tools
### Charting libraries
- [ApexCharts](https://apexcharts.com/) - Modern & Interactive SVG Charts.
- [Chart.js](https://www.chartjs.org/) - Charts with the canvas tag.
- [Chartist.js](https://gionkunz.github.io/chartist-js/) - Responsive charts with great browser compatibility.
- [dc.js](https://github.com/dc-js/dc.js) is an multi-Dimensional charting built to work natively with crossfilter.
- [Dygraphs](https://dygraphs.com/) - Interactive line charts library that works with huge datasets.
- [Echarts](https://github.com/ecomfe/echarts) - Highly customizable and interactive charts ready for big datasets.
- [Epoch](https://github.com/epochjs/epoch) - Perfect to create real-time charts.
- [Google Charts](https://developers.google.com/chart) - Interactive charts for browsers and mobile devices.
- [G2](https://g2plot.antv.vision/en) - an interactive and responsive charting library based on the grammar of graphics, maintained by Alibaba
- [GraphicsJS](http://www.graphicsjs.org) - Lightweight JS graphics library with intuitive API, based on SVG/VML.
- [lit-line](https://github.com/apinet/lit-line) - SVG Line Chart Web Component - light, fast, interactive & fully responsive.
- [MetricsGraphics.js](https://metricsgraphicsjs.org/) - Optimized for time-series data.
- [NVD3](https://github.com/novus/nvd3) - A reusable charting library written in d3.js.
- [Plotly.js](https://github.com/plotly/plotly.js/) - Powerful declarative library with support for 20 chart types.
- [React wrapper](https://github.com/hustcc/echarts-for-react)
- [TechanJS](https://techanjs.org/) - Stock and financial charts.
- [TOAST UI Chart](https://github.com/nhnent/tui.chart) - Complete library with support for legacy browsers.
- [Vizzu](https://github.com/vizzuhq/vizzu-lib) - Library for animated data visualizations and data stories.
### Charting libraries for graphs
- [Cola.js](https://marvl.infotech.monash.edu/webcola/) - A tool to create diagrams using constraint-based optimization techniques. Works with d3 and svg.js.
- [Cytoscape.js](https://js.cytoscape.org/) - JavaScript library for graph drawing maintained by [Cytoscape](https://www.cytoscape.org) core developers.
- [Sigma.js](https://sigmajs.org/) - JavaScript library dedicated to graph drawing.
- [VivaGraph](https://github.com/anvaka/VivaGraphJS) - Graph drawing library for JavaScript.
- [G6](https://github.com/antvis/g6) - Graph visualization library powered by Javascript & Typescript, maintained by Alibaba
- [diagram.js](https://github.com/bpmn-io/diagram-js) - Javascript diagram library serving as the basis for camunda's online BPMN modeler.
- [Uber React Digraph](https://github.com/uber/react-digraph) - React.js based directed graph library maintained by UBER.
### Maps
- [CARTO](https://github.com/CartoDB/cartodb) - CARTO is an open source tool that allows for the storage and visualization of geospatial data on the web.
- [Cesium](https://github.com/AnalyticalGraphicsInc/cesium) - WebGL 3D globes and maps.
- [Deck.gl](https://deck.gl/) - WebGL framework for visual exploratory data analysis of large datasets.
- [L7](https://github.com/antvis/L7) - Large-scale WebGL-powered Geospatial Data Visualization analysis framework, maintained by Alibaba
- [L7 Plot](https://github.com/antvis/L7Plot) - Geospatial Visualization Chart Library, maintained by Alibaba
- [DataMaps](https://github.com/markmarkoh/datamaps) - Interactive SVG maps using D3.js.
- [Dipper](https://github.com/antvis/dipper) - Map application development framework powered by L7, maintained by Alibaba.
- [Leaflet](https://leafletjs.com) - JavaScript library for mobile-friendly interactive maps.
- [Mapael](https://github.com/neveldo/jQuery-Mapael) - jQuery plugin based on raphael.js to display vector maps.
### d3
- See [Awesome D3](https://github.com/wbkd/awesome-d3)
### React
- [BizCharts](https://github.com/alibaba/BizCharts) - Data visualization library based on [G2](https://github.com/antvis/G2) and React
- [Graphin](https://github.com/antvis/Graphin) - Graph visualization library powered by React & Typescript (built on top of G6, maintained by Alibaba.
- [React-vis](https://github.com/uber/react-vis) - React components to build data visualizations.
- [Recharts](https://github.com/recharts/recharts) - Declarative react components to render D3 charts.
- [Victory](https://formidable.com/open-source/victory/) - Composable components for building interactive data visualizations
- [nivo](https://github.com/plouc/nivo) - Supercharged dataviz components for React with isomorphic ability, [demo](https://nivo.rocks).
- [React Svg Textures](https://github.com/finnfiddle/react-svg-textures) - Textures.js ported to React. Fully isomorphic.
- [DevExtreme React Chart](https://devexpress.github.io/devextreme-reactive/react/chart/) - High-performance plugin-based React chart for Bootstrap and Material Design.
## React Native
- [F2](https://github.com/antvis/F2) - An elegant, interactive and flexible charting library for mobile, maintained by Alibaba
### Misc
- [Graphology](https://github.com/graphology/graphology) - A robust & multipurpose Graph object for javascript & TypeScript; Serves as a base library to power other graph visualization libraries.
- [Piecon](https://github.com/lipka/piecon) - Pie charts in your favicon.
- [Textures.js](https://riccardoscalco.github.io/textures/) - A library to create SVG patterns.
- [Timeline.js](https://timeline.knightlab.com/) - Create interactive timelines.
- [Vega](https://vega.github.io/vega/) - Vega is a visualization grammar, a declarative format for creating, saving, and sharing interactive visualization designs.
- [Vega-Lite](https://vega.github.io/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](https://visjs.org/) - A dynamic visualization library including timeline, networks and graphs (2D and 3D).
## Android tools
- [DecoView](https://github.com/bmarrdev/android-DecoView-charting) - Animated circular wheel chart library.
- [MPAndroidChart](https://github.com/PhilJay/MPAndroidChart) - A powerful & easy to use chart library.
- [WilliamChart](https://github.com/diogobernardino/WilliamChart) - Simple chart library.
## C++ tools
- [LargeVis](https://github.com/lferry007/LargeVis) - implementation of the [LargeVis paper](https://arxiv.org/abs/1602.00370), used to visualize large-scale and high-dimensional data.
- [PlotJuggler](https://github.com/facontidavide/PlotJuggler) - open-source Qt5 application to plot charts (based on Qwt).
- [Visualization Toolkit (VTK)](https://gitlab.kitware.com/vtk/vtk/blob/master/README.md) - open-source library for 3d Graphics, image processing and visualization.
## Golang tools
- [svgo](https://github.com/ajstarks/svgo) - Go Language Library for SVG generation.
- [plot](https://github.com/gonum/plot) - API for building and drawing plots in Go.
- [go-echars](https://github.com/chenjiandongx/go-echarts) - Simple yet powerful data visualizing library for Go.
## iOS tools
- [BEMSimpleLineGraph](https://github.com/Boris-Em/BEMSimpleLineGraph) - Highly customizable and interactive line graphs.
- [Charts](https://github.com/danielgindi/Charts) - iOS port of MPAndroidChart. You can create charts for both platforms with very similar code.
- [JBChartView](https://github.com/Jawbone/JBChartView) - Charting library for both line and bar graphs.
- [PNChart](https://github.com/kevinzhow/PNChart) - A simple and beautiful chart lib used in Piner and CoinsMan.
## Machine Learning tools
- [TensorWatch](https://github.com/microsoft/tensorwatch) - Debugging and visualization tool for data science and machine learning
## Python tools
- [altair](https://altair-viz.github.io/) - Declarative statistical visualizations, based on Vega-Lite.
- [bokeh](https://bokeh.pydata.org/en/latest/) - Interactive Web Plotting for Python.
- [Chartify](https://github.com/spotify/chartify) - Bokeh wrapper that makes it easy for data scientists to create charts.
- [diagram](https://github.com/tehmaze/diagram) - Text mode diagrams using UTF-8 characters
- [ggplot](https://github.com/yhat/ggpy) - plotting system based on [R's](#r-tools) ggplot2.
- [glumpy](https://github.com/glumpy/glumpy) - OpenGL scientific visualizations library.
- [holoviews](https://holoviews.org/) - Complex and declarative visualizations from annotated data.
- [ipychart](https://github.com/nicohlr/ipychart) - The power of Chart.js in Jupyter Notebook.
- [mayai](https://docs.enthought.com/mayavi/mayavi/) - interactive scientific data visualization and 3D plotting in Python.
- [matplotlib](https://matplotlib.org/) - 2D plotting library.
- [missingno](https://github.com/ResidentMario/missingno) - provides flexible toolset of data-visualization utilities that allows quick visual summary of the completeness of your dataset, based on matplotlib.
- [plotly](https://plot.ly/python/) - Interactive web based visualization built on top of [plotly.js](https://github.com/plotly/plotly.js)
- [pptk](https://github.com/heremaps/pptk) - Visualize and work with 2D/3D pointclouds
- [PyQtGraph](https://www.pyqtgraph.org/) - Interactive and realtime 2D/3D/Image plotting and science/engineering widgets.
- [PyVista](https://github.com/pyvista/pyvista) 3D plotting and mesh analysis through a streamlined interface for the Visualization Toolkit (VTK)
- [seaborn](https://seaborn.pydata.org/) - A library for making attractive and informative statistical graphics.
- [toyplot](https://toyplot.readthedocs.io/en/stable/) - The kid-sized plotting toolkit for Python with grownup-sized goals.
- [three.py](https://github.com/stemkoski/three.py/) - Easy to use 3D library based on PyOpenGL. Inspired by Three.js.
- [veusz](https://veusz.github.io/) - Python multiplatform GUI plotting tool and graphing library
- [VisPy](https://vispy.org/) - High-performance scientific visualization based on OpenGL.
- [vtk](https://www.vtk.org/) - 3D computer graphics, image processing, and visualization that includes a Python interface.
- [pandas-profiling](https://github.com/pandas-profiling/pandas-profiling) - generates statistical analytic reports with visualization for quick data analysis.
- [pyechars](https://github.com/pyecharts/pyecharts) - Python binding for Echarts library.
## R tools
- [ggplot2](https://ggplot2.tidyverse.org/) - A plotting system based on the grammar of graphics.
- [ggvis](https://ggvis.rstudio.com/) - A data visualization package with a syntax similar to ggplot2 which allows you to create rich interactive graphics.
- [lattice](https://lattice.r-forge.r-project.org) - trellis graphics for R
- [plotly](https://github.com/ropensci/plotly) - Interactive charts (including adding interactivity to ggplot2 output), cartograms and simple network diagrams
- [rbokeh](https://hafen.github.io/rbokeh/) - R Interface to Bokeh.
- [rgl](https://cran.r-project.org/web/packages/rgl/index.html) - 3D Visualization Using OpenGL
- [shiny](https://shiny.rstudio.com) - Framework for creating interactive applications/visualisations
- [visNetwork](https://datastorm-open.github.io/visNetwork/) - Interactive network visualisations
## Ruby tools
- [Chartkick](https://github.com/ankane/chartkick) - Create charts with one line of Ruby.
## Markup-based tools
- [mermaidjs](https://mermaidjs.github.io/mermaid-live-editor) - A simple markdown-like script language for generating charts from text via javascript
- [wavedrom.com](https://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](https://github.com/mikesall/charted) - A charting tool that produces automatic, shareable charts from any data file.
- [Gephi](https://github.com/gephi/gephi) - An open-source platform for visualizing and manipulating large graphs
- [Kepler.gl](https://kepler.gl/) - Geospatial analysis tool for large-scale data sets.
- [Mermaid](https://github.com/knsv/mermaid) - A tool used to generate diagrams and flowcharts from text in a similar manner as markdown.
- [RAW](https://rawgraphs.io) - Create web visualizations from CSV or Excel files.
- [Spark](https://github.com/holman/spark) - Sparklines for the shell. It have several [implementations in different languages](https://github.com/holman/spark/wiki/Alternative-Implementations).
- [Visual-Insights](https://github.com/ObservedObserver/visual-insights) - Automatic insights extraction and visualization specification in data analysis.
- [X6](https://x6.antv.vision/en) - diagram creation library for rapid construction of DAG diagrams, ER diagrams, flowcharts and other applications, maintained by Alibaba
- [Graphviz](https://graphviz.org/) - Open source graph visualization command line tool and library. From input text to SVG,PDF,interactive web graph browser.
# Resources
## Books
- [Design for Information](https://www.amazon.com/Design-Information-Introduction-Histories-Visualizations/dp/1592538061) by Isabel Meirelles.
- [The Best American Infographics 2014](https://www.amazon.com/Best-American-Infographics-2014/dp/0547974515) by Gareth Cook.
- [The Grammar of Graphics](https://www.amazon.com/Grammar-Graphics-Statistics-Computing/dp/0387245448/) by Leland Wilkinson. Basic visualization theory.
- [The Visual Display of Quantitative Information](https://www.amazon.com/Visual-Display-Quantitative-Information/dp/0961392142) by Edward Tufte.
- [The Wall Street Journal Guide to Information Graphics](https://www.amazon.com/Street-Journal-Guide-Information-Graphics/dp/0393347281) by Dona M. Wong
- [Visualization Analysis and Design](https://www.amazon.com/Visualization-Analysis-Design-AK-Peters/dp/1466508914) by Tamara Munzner.
- [Interactive Data Visualization for the Web](https://chimera.labs.oreilly.com/books/1230000000345) by Scott Murray. Available to read online. Focused on D3.
- [Data Visualization Toolkit](https://datavisualizationtoolkit.com) by Barrett Austin Clark. Uses D3, Ruby on Rails, Postgres, PostGIS, & Leaflet.
- [Data Visualisation: A Handbook for Data Driven Design](https://www.amazon.com/Data-Visualisation-Handbook-Driven-Design/dp/1526468921/) by Andy Kirk
## Catalogs
- [The Data Visualization Catalogue](https://www.datavizcatalogue.com) - A collection of data visualization methods, with pros and cons.
- [Data Viz Project](https://datavizproject.com)
- [The R Graph Gallery](https://www.r-graph-gallery.com)
- [From data to Viz](https://www.data-to-viz.com)
- [Chartopedia](https://www.anychart.com/chartopedia)
- [Interactive Chart Chooser](https://depictdatastudio.com/charts/) by Depict Data Studio
- Wikipedia
- [Data visualization techniques](https://en.wikipedia.org/wiki/Data_visualization#Techniques)
- [List of graphical methods](https://en.wikipedia.org/wiki/List_of_graphical_methods)
- [Types of diagrams](https://en.wikipedia.org/wiki/Diagram#Gallery_of_diagram_types)
- [Types of plots](https://en.wikipedia.org/wiki/Plot_(graphics)#Types_of_plots)
- [Types of charts](https://en.wikipedia.org/wiki/Chart#Types)
## Podcasts
- [Data Stories](https://datastori.es/)
- [DataFramed](https://www.datacamp.com/community/podcast)
- [Data Viz Today](https://dataviztoday.com/)
## Twitter accounts
- [Alberto Cairo](https://twitter.com/albertocairo)
- [Andrei Kashcha](https://twitter.com/anvaka)
- [Benjamin Wiederkehr](https://twitter.com/datavis)
- [Jan Žák](https://twitter.com/zakjan)
- [Mara Averick](https://twitter.com/dataandme)
- [Martin Wattenberg](https://twitter.com/wattenberg)
- [Mike Bostock](https://twitter.com/mbostock)
- [Nadieh Bremer](https://twitter.com/NadiehBremer)
- [NYT Graphics](https://twitter.com/nytgraphics)
- [Visualizing](https://twitter.com/VisualizingOrg)
## Websites
- [Data For Visualization](https://dataforvisualization.com/) blog - Storytelling with data from the software developer's eye
- [Ann K. Emery](https://annkemery.com/)'s blog
- [Data Visualization Society](https://www.datavisualizationsociety.com/) - The Data Visualization Society is an organization dedicated to fostering community for data visualization professionals.
- [eagereyes](https://eagereyes.org/)
- [EvergreenData](https://stephanieevergreen.com/)
- [FlowingData](https://flowingdata.com/)
- [Information is Beautiful](https://www.informationisbeautiful.net/)
- [Junk Charts](https://junkcharts.typepad.com/) - Kaiser Fung takes apart why certain datavizes work/don't work
- [Lisa Rost thinks and discusses about why we dataviz](https://lisacharlotterost.github.io/)
- [Makeover Monday](https://www.makeovermonday.co.uk/) blog - [#MakeoverMonday](https://twitter.com/search?q=%23makeovermonday) on twitter
- [The Open News](https://source.opennews.org/articles/) blog - Open news has some good dataviz related articles from time to time
- [The Pudding](https://pudding.cool/)
- [Truth & Beauty Operations](https://truth-and-beauty.net/)
- [University of Washington Interactive Data Lab Papers](https://idl.cs.washington.edu/papers)
- [vis4.net](https://www.vis4.net/blog/) - 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](https://fabiosouto.me/).
- [Javier Luraschi](https://github.com/javierluraschi) is the current maintainer, he builds predictive visualizations at [Hal9](https://hal9.com).
- - -
If you have any question about this opinionated list, do not hesitate to contact me [@javierluraschi](https://twitter.com/javierluraschi) on Twitter or [open a GitHub issue](https://github.com/javierluraschi/awesome-dataviz/issues/new).