├── .github └── workflows │ └── main.yaml ├── LICENSE └── README.md /.github/workflows/main.yaml: -------------------------------------------------------------------------------- 1 | name: Tests 2 | 3 | on: 4 | push: 5 | branches: [ '*' ] 6 | pull_request: 7 | branches: [ '*' ] 8 | 9 | jobs: 10 | build: 11 | 12 | runs-on: ubuntu-latest 13 | 14 | steps: 15 | - uses: actions/checkout@v2 16 | - name: Set up Ruby 2.6 17 | uses: actions/setup-ruby@v1 18 | with: 19 | ruby-version: 2.6.x 20 | - name: Checks 21 | run: | 22 | gem install awesome_bot 23 | awesome_bot README.md --allow-redirect --allow 503 24 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Creative Commons Attribution 4.0 International License (CC BY 4.0) 2 | 3 | http://creativecommons.org/licenses/by/4.0/ -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Awesome Dataviz 2 | [![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) 3 | 4 | 5 | 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). 6 | 7 | 8 | ## Contents 9 | - [Awesome dataviz](#awesome-dataviz) 10 | - [JavaScript tools](#javascript-tools) 11 | - [Charting libraries](#charting-libraries) 12 | - [Charting libraries for graphs](#charting-libraries-for-graphs) 13 | - [Maps](#maps) 14 | - [d3](#d3) 15 | - [React](#react) 16 | - [Misc](#misc) 17 | - [Android tools](#android-tools) 18 | - [C++ tools](#c-tools) 19 | - [Golang tools](#golang-tools) 20 | - [iOS tools](#ios-tools) 21 | - [Python tools](#python-tools) 22 | - [R tools](#r-tools) 23 | - [Ruby tools](#ruby-tools) 24 | - [Markup-based tools](#markup-based-tools) 25 | - [Other tools](#other-tools) 26 | - [Resources](#resources) 27 | - [Books](#books) 28 | - [Catalogs](#catalogs) 29 | - [Podcasts](#podcasts) 30 | - [Twitter accounts](#twitter-accounts) 31 | - [Websites](#websites) 32 | - [Contributing](#contributing) 33 | - [License](#license) 34 | 35 | ## JavaScript tools 36 | 37 | ### Charting libraries 38 | - [ApexCharts](https://apexcharts.com/) - Modern & Interactive SVG Charts. 39 | - [Chart.js](https://www.chartjs.org/) - Charts with the canvas tag. 40 | - [Chartist.js](https://gionkunz.github.io/chartist-js/) - Responsive charts with great browser compatibility. 41 | - [dc.js](https://github.com/dc-js/dc.js) is an multi-Dimensional charting built to work natively with crossfilter. 42 | - [Dygraphs](https://dygraphs.com/) - Interactive line charts library that works with huge datasets. 43 | - [Echarts](https://github.com/ecomfe/echarts) - Highly customizable and interactive charts ready for big datasets. 44 | - [Epoch](https://github.com/epochjs/epoch) - Perfect to create real-time charts. 45 | - [Google Charts](https://developers.google.com/chart) - Interactive charts for browsers and mobile devices. 46 | - [G2](https://g2plot.antv.vision/en) - an interactive and responsive charting library based on the grammar of graphics, maintained by Alibaba 47 | - [GraphicsJS](http://www.graphicsjs.org) - Lightweight JS graphics library with intuitive API, based on SVG/VML. 48 | - [lit-line](https://github.com/apinet/lit-line) - SVG Line Chart Web Component - light, fast, interactive & fully responsive. 49 | - [MetricsGraphics.js](https://metricsgraphicsjs.org/) - Optimized for time-series data. 50 | - [NVD3](https://github.com/novus/nvd3) - A reusable charting library written in d3.js. 51 | - [Plotly.js](https://github.com/plotly/plotly.js/) - Powerful declarative library with support for 20 chart types. 52 | - [React wrapper](https://github.com/hustcc/echarts-for-react) 53 | - [TechanJS](https://techanjs.org/) - Stock and financial charts. 54 | - [TOAST UI Chart](https://github.com/nhnent/tui.chart) - Complete library with support for legacy browsers. 55 | - [Vizzu](https://github.com/vizzuhq/vizzu-lib) - Library for animated data visualizations and data stories. 56 | 57 | ### Charting libraries for graphs 58 | - [Cola.js](https://marvl.infotech.monash.edu/webcola/) - A tool to create diagrams using constraint-based optimization techniques. Works with d3 and svg.js. 59 | - [Cytoscape.js](https://js.cytoscape.org/) - JavaScript library for graph drawing maintained by [Cytoscape](https://www.cytoscape.org) core developers. 60 | - [Sigma.js](https://sigmajs.org/) - JavaScript library dedicated to graph drawing. 61 | - [VivaGraph](https://github.com/anvaka/VivaGraphJS) - Graph drawing library for JavaScript. 62 | - [G6](https://github.com/antvis/g6) - Graph visualization library powered by Javascript & Typescript, maintained by Alibaba 63 | - [diagram.js](https://github.com/bpmn-io/diagram-js) - Javascript diagram library serving as the basis for camunda's online BPMN modeler. 64 | - [Uber React Digraph](https://github.com/uber/react-digraph) - React.js based directed graph library maintained by UBER. 65 | 66 | ### Maps 67 | - [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. 68 | - [Cesium](https://github.com/AnalyticalGraphicsInc/cesium) - WebGL 3D globes and maps. 69 | - [Deck.gl](https://deck.gl/) - WebGL framework for visual exploratory data analysis of large datasets. 70 | - [L7](https://github.com/antvis/L7) - Large-scale WebGL-powered Geospatial Data Visualization analysis framework, maintained by Alibaba 71 | - [L7 Plot](https://github.com/antvis/L7Plot) - Geospatial Visualization Chart Library, maintained by Alibaba 72 | - [DataMaps](https://github.com/markmarkoh/datamaps) - Interactive SVG maps using D3.js. 73 | - [Dipper](https://github.com/antvis/dipper) - Map application development framework powered by L7, maintained by Alibaba. 74 | - [Leaflet](https://leafletjs.com) - JavaScript library for mobile-friendly interactive maps. 75 | - [Mapael](https://github.com/neveldo/jQuery-Mapael) - jQuery plugin based on raphael.js to display vector maps. 76 | 77 | ### d3 78 | - See [Awesome D3](https://github.com/wbkd/awesome-d3) 79 | 80 | ### React 81 | - [BizCharts](https://github.com/alibaba/BizCharts) - Data visualization library based on [G2](https://github.com/antvis/G2) and React 82 | - [Graphin](https://github.com/antvis/Graphin) - Graph visualization library powered by React & Typescript (built on top of G6, maintained by Alibaba. 83 | - [React-vis](https://github.com/uber/react-vis) - React components to build data visualizations. 84 | - [Recharts](https://github.com/recharts/recharts) - Declarative react components to render D3 charts. 85 | - [Victory](https://formidable.com/open-source/victory/) - Composable components for building interactive data visualizations 86 | - [nivo](https://github.com/plouc/nivo) - Supercharged dataviz components for React with isomorphic ability, [demo](https://nivo.rocks). 87 | - [React Svg Textures](https://github.com/finnfiddle/react-svg-textures) - Textures.js ported to React. Fully isomorphic. 88 | - [DevExtreme React Chart](https://devexpress.github.io/devextreme-reactive/react/chart/) - High-performance plugin-based React chart for Bootstrap and Material Design. 89 | 90 | ## React Native 91 | - [F2](https://github.com/antvis/F2) - An elegant, interactive and flexible charting library for mobile, maintained by Alibaba 92 | 93 | ### Misc 94 | - [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. 95 | - [Piecon](https://github.com/lipka/piecon) - Pie charts in your favicon. 96 | - [Textures.js](https://riccardoscalco.github.io/textures/) - A library to create SVG patterns. 97 | - [Timeline.js](https://timeline.knightlab.com/) - Create interactive timelines. 98 | - [Vega](https://vega.github.io/vega/) - Vega is a visualization grammar, a declarative format for creating, saving, and sharing interactive visualization designs. 99 | - [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. 100 | - [Vis.js](https://visjs.org/) - A dynamic visualization library including timeline, networks and graphs (2D and 3D). 101 | 102 | ## Android tools 103 | - [DecoView](https://github.com/bmarrdev/android-DecoView-charting) - Animated circular wheel chart library. 104 | - [MPAndroidChart](https://github.com/PhilJay/MPAndroidChart) - A powerful & easy to use chart library. 105 | - [WilliamChart](https://github.com/diogobernardino/WilliamChart) - Simple chart library. 106 | 107 | ## C++ tools 108 | - [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. 109 | - [PlotJuggler](https://github.com/facontidavide/PlotJuggler) - open-source Qt5 application to plot charts (based on Qwt). 110 | - [Visualization Toolkit (VTK)](https://gitlab.kitware.com/vtk/vtk/blob/master/README.md) - open-source library for 3d Graphics, image processing and visualization. 111 | 112 | ## Golang tools 113 | - [svgo](https://github.com/ajstarks/svgo) - Go Language Library for SVG generation. 114 | - [plot](https://github.com/gonum/plot) - API for building and drawing plots in Go. 115 | - [go-echars](https://github.com/chenjiandongx/go-echarts) - Simple yet powerful data visualizing library for Go. 116 | 117 | ## iOS tools 118 | - [BEMSimpleLineGraph](https://github.com/Boris-Em/BEMSimpleLineGraph) - Highly customizable and interactive line graphs. 119 | - [Charts](https://github.com/danielgindi/Charts) - iOS port of MPAndroidChart. You can create charts for both platforms with very similar code. 120 | - [JBChartView](https://github.com/Jawbone/JBChartView) - Charting library for both line and bar graphs. 121 | - [PNChart](https://github.com/kevinzhow/PNChart) - A simple and beautiful chart lib used in Piner and CoinsMan. 122 | 123 | ## Machine Learning tools 124 | - [TensorWatch](https://github.com/microsoft/tensorwatch) - Debugging and visualization tool for data science and machine learning 125 | 126 | ## Python tools 127 | - [altair](https://altair-viz.github.io/) - Declarative statistical visualizations, based on Vega-Lite. 128 | - [bokeh](https://bokeh.pydata.org/en/latest/) - Interactive Web Plotting for Python. 129 | - [Chartify](https://github.com/spotify/chartify) - Bokeh wrapper that makes it easy for data scientists to create charts. 130 | - [diagram](https://github.com/tehmaze/diagram) - Text mode diagrams using UTF-8 characters 131 | - [ggplot](https://github.com/yhat/ggpy) - plotting system based on [R's](#r-tools) ggplot2. 132 | - [glumpy](https://github.com/glumpy/glumpy) - OpenGL scientific visualizations library. 133 | - [holoviews](https://holoviews.org/) - Complex and declarative visualizations from annotated data. 134 | - [ipychart](https://github.com/nicohlr/ipychart) - The power of Chart.js in Jupyter Notebook. 135 | - [mayai](https://docs.enthought.com/mayavi/mayavi/) - interactive scientific data visualization and 3D plotting in Python. 136 | - [matplotlib](https://matplotlib.org/) - 2D plotting library. 137 | - [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. 138 | - [plotly](https://plot.ly/python/) - Interactive web based visualization built on top of [plotly.js](https://github.com/plotly/plotly.js) 139 | - [pptk](https://github.com/heremaps/pptk) - Visualize and work with 2D/3D pointclouds 140 | - [PyQtGraph](https://www.pyqtgraph.org/) - Interactive and realtime 2D/3D/Image plotting and science/engineering widgets. 141 | - [PyVista](https://github.com/pyvista/pyvista) – 3D plotting and mesh analysis through a streamlined interface for the Visualization Toolkit (VTK) 142 | - [seaborn](https://seaborn.pydata.org/) - A library for making attractive and informative statistical graphics. 143 | - [toyplot](https://toyplot.readthedocs.io/en/stable/) - The kid-sized plotting toolkit for Python with grownup-sized goals. 144 | - [three.py](https://github.com/stemkoski/three.py/) - Easy to use 3D library based on PyOpenGL. Inspired by Three.js. 145 | - [veusz](https://veusz.github.io/) - Python multiplatform GUI plotting tool and graphing library 146 | - [VisPy](https://vispy.org/) - High-performance scientific visualization based on OpenGL. 147 | - [vtk](https://www.vtk.org/) - 3D computer graphics, image processing, and visualization that includes a Python interface. 148 | - [pandas-profiling](https://github.com/pandas-profiling/pandas-profiling) - generates statistical analytic reports with visualization for quick data analysis. 149 | - [pyechars](https://github.com/pyecharts/pyecharts) - Python binding for Echarts library. 150 | 151 | ## R tools 152 | - [ggplot2](https://ggplot2.tidyverse.org/) - A plotting system based on the grammar of graphics. 153 | - [ggvis](https://ggvis.rstudio.com/) - A data visualization package with a syntax similar to ggplot2 which allows you to create rich interactive graphics. 154 | - [lattice](https://lattice.r-forge.r-project.org) - trellis graphics for R 155 | - [plotly](https://github.com/ropensci/plotly) - Interactive charts (including adding interactivity to ggplot2 output), cartograms and simple network diagrams 156 | - [rbokeh](https://hafen.github.io/rbokeh/) - R Interface to Bokeh. 157 | - [rgl](https://cran.r-project.org/web/packages/rgl/index.html) - 3D Visualization Using OpenGL 158 | - [shiny](https://shiny.rstudio.com) - Framework for creating interactive applications/visualisations 159 | - [visNetwork](https://datastorm-open.github.io/visNetwork/) - Interactive network visualisations 160 | 161 | ## Ruby tools 162 | - [Chartkick](https://github.com/ankane/chartkick) - Create charts with one line of Ruby. 163 | 164 | ## Markup-based tools 165 | - [mermaidjs](https://mermaidjs.github.io/mermaid-live-editor) - A simple markdown-like script language for generating charts from text via javascript 166 | - [wavedrom.com](https://wavedrom.com/) - Draws your Timing Diagram or Waveform from simple textual description 167 | 168 | ## Other tools 169 | Tools that are not tied to a particular platform or language. 170 | - [Charted](https://github.com/mikesall/charted) - A charting tool that produces automatic, shareable charts from any data file. 171 | - [Gephi](https://github.com/gephi/gephi) - An open-source platform for visualizing and manipulating large graphs 172 | - [Kepler.gl](https://kepler.gl/) - Geospatial analysis tool for large-scale data sets. 173 | - [Mermaid](https://github.com/knsv/mermaid) - A tool used to generate diagrams and flowcharts from text in a similar manner as markdown. 174 | - [RAW](https://rawgraphs.io) - Create web visualizations from CSV or Excel files. 175 | - [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). 176 | - [Visual-Insights](https://github.com/ObservedObserver/visual-insights) - Automatic insights extraction and visualization specification in data analysis. 177 | - [X6](https://x6.antv.vision/en) - diagram creation library for rapid construction of DAG diagrams, ER diagrams, flowcharts and other applications, maintained by Alibaba 178 | - [Graphviz](https://graphviz.org/) - Open source graph visualization command line tool and library. From input text to SVG,PDF,interactive web graph browser. 179 | 180 | # Resources 181 | 182 | ## Books 183 | - [Design for Information](https://www.amazon.com/Design-Information-Introduction-Histories-Visualizations/dp/1592538061) by Isabel Meirelles. 184 | - [The Best American Infographics 2014](https://www.amazon.com/Best-American-Infographics-2014/dp/0547974515) by Gareth Cook. 185 | - [The Grammar of Graphics](https://www.amazon.com/Grammar-Graphics-Statistics-Computing/dp/0387245448/) by Leland Wilkinson. Basic visualization theory. 186 | - [The Visual Display of Quantitative Information](https://www.amazon.com/Visual-Display-Quantitative-Information/dp/0961392142) by Edward Tufte. 187 | - [The Wall Street Journal Guide to Information Graphics](https://www.amazon.com/Street-Journal-Guide-Information-Graphics/dp/0393347281) by Dona M. Wong 188 | - [Visualization Analysis and Design](https://www.amazon.com/Visualization-Analysis-Design-AK-Peters/dp/1466508914) by Tamara Munzner. 189 | - [Interactive Data Visualization for the Web](https://chimera.labs.oreilly.com/books/1230000000345) by Scott Murray. Available to read online. Focused on D3. 190 | - [Data Visualization Toolkit](https://datavisualizationtoolkit.com) by Barrett Austin Clark. Uses D3, Ruby on Rails, Postgres, PostGIS, & Leaflet. 191 | - [Data Visualisation: A Handbook for Data Driven Design](https://www.amazon.com/Data-Visualisation-Handbook-Driven-Design/dp/1526468921/) by Andy Kirk 192 | 193 | ## Catalogs 194 | - [The Data Visualization Catalogue](https://www.datavizcatalogue.com) - A collection of data visualization methods, with pros and cons. 195 | - [Data Viz Project](https://datavizproject.com) 196 | - [The R Graph Gallery](https://www.r-graph-gallery.com) 197 | - [From data to Viz](https://www.data-to-viz.com) 198 | - [Chartopedia](https://www.anychart.com/chartopedia) 199 | - [Interactive Chart Chooser](https://depictdatastudio.com/charts/) by Depict Data Studio 200 | - Wikipedia 201 | - [Data visualization techniques](https://en.wikipedia.org/wiki/Data_visualization#Techniques) 202 | - [List of graphical methods](https://en.wikipedia.org/wiki/List_of_graphical_methods) 203 | - [Types of diagrams](https://en.wikipedia.org/wiki/Diagram#Gallery_of_diagram_types) 204 | - [Types of plots](https://en.wikipedia.org/wiki/Plot_(graphics)#Types_of_plots) 205 | - [Types of charts](https://en.wikipedia.org/wiki/Chart#Types) 206 | 207 | ## Podcasts 208 | - [Data Stories](https://datastori.es/) 209 | - [DataFramed](https://www.datacamp.com/community/podcast) 210 | - [Data Viz Today](https://dataviztoday.com/) 211 | 212 | ## Twitter accounts 213 | - [Alberto Cairo](https://twitter.com/albertocairo) 214 | - [Andrei Kashcha](https://twitter.com/anvaka) 215 | - [Benjamin Wiederkehr](https://twitter.com/datavis) 216 | - [Jan Žák](https://twitter.com/zakjan) 217 | - [Mara Averick](https://twitter.com/dataandme) 218 | - [Martin Wattenberg](https://twitter.com/wattenberg) 219 | - [Mike Bostock](https://twitter.com/mbostock) 220 | - [Nadieh Bremer](https://twitter.com/NadiehBremer) 221 | - [NYT Graphics](https://twitter.com/nytgraphics) 222 | - [Visualizing](https://twitter.com/VisualizingOrg) 223 | 224 | ## Websites 225 | - [Data For Visualization](https://dataforvisualization.com/) blog - Storytelling with data from the software developer's eye 226 | - [Ann K. Emery](https://annkemery.com/)'s blog 227 | - [Data Visualization Society](https://www.datavisualizationsociety.com/) - The Data Visualization Society is an organization dedicated to fostering community for data visualization professionals. 228 | - [eagereyes](https://eagereyes.org/) 229 | - [EvergreenData](https://stephanieevergreen.com/) 230 | - [FlowingData](https://flowingdata.com/) 231 | - [Information is Beautiful](https://www.informationisbeautiful.net/) 232 | - [Junk Charts](https://junkcharts.typepad.com/) - Kaiser Fung takes apart why certain datavizes work/don't work 233 | - [Lisa Rost thinks and discusses about why we dataviz](https://lisacharlotterost.github.io/) 234 | - [Makeover Monday](https://www.makeovermonday.co.uk/) blog - [#MakeoverMonday](https://twitter.com/search?q=%23makeovermonday) on twitter 235 | - [The Open News](https://source.opennews.org/articles/) blog - Open news has some good dataviz related articles from time to time 236 | - [The Pudding](https://pudding.cool/) 237 | - [Truth & Beauty Operations](https://truth-and-beauty.net/) 238 | - [University of Washington Interactive Data Lab Papers](https://idl.cs.washington.edu/papers) 239 | - [vis4.net](https://www.vis4.net/blog/) - Random thoughts on visualization and data journalism by Gregor Aisch 240 | 241 | 242 | # Contributing 243 | 244 | - Please check for duplicates first. 245 | - Keep descriptions short, simple and unbiased. 246 | - Please make an individual commit for each suggestion 247 | - Add a new category if needed. 248 | 249 | Thanks for your suggestions! 250 | 251 | 252 | # Contributors 253 | 254 | - Fabio Souto originally createad this repo, connect with Fabio at [fabiosouto.me](https://fabiosouto.me/). 255 | - [Javier Luraschi](https://github.com/javierluraschi) is the current maintainer, he builds predictive visualizations at [Hal9](https://hal9.com). 256 | 257 | 258 | - - - 259 | 260 | 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). 261 | --------------------------------------------------------------------------------