Skip to main content

Awesome Dataviz

A curated list of awesome open-source data visualizations frameworks, libraries and software. Inspired by awesome-python 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 is an multi-Dimensional charting built to work natively with crossfilter.
  • Dygraphs - Interactive line charts library that works with huge datasets.
  • Echarts - Highly customizable and interactive charts ready for big datasets.
  • Epoch - 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 - 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.
  • Plotly.js - Powerful declarative library with support for 20 chart types.
  • React wrapper
  • TechanJS - Stock and financial charts.
  • TOAST UI Chart - Complete library with support for legacy browsers.
  • Vizzu - 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 - Graph drawing library for JavaScript.
  • G6 - Graph visualization library powered by Javascript & Typescript, maintained by Alibaba
  • diagram.js - Javascript diagram library serving as the basis for camunda's online BPMN modeler.
  • Uber React Digraph - React.js based directed graph library maintained by UBER.

Maps

  • CARTO - CARTO is an open source tool that allows for the storage and visualization of geospatial data on the web.
  • Cesium - WebGL 3D globes and maps.
  • Deck.gl - WebGL framework for visual exploratory data analysis of large datasets.
  • L7 - Large-scale WebGL-powered Geospatial Data Visualization analysis framework, maintained by Alibaba
  • L7 Plot - Geospatial Visualization Chart Library, maintained by Alibaba
  • DataMaps - Interactive SVG maps using D3.js.
  • Dipper - Map application development framework powered by L7, maintained by Alibaba.
  • Leaflet - JavaScript library for mobile-friendly interactive maps.
  • Mapael - jQuery plugin based on raphael.js to display vector maps.

d3

React

  • BizCharts - Data visualization library based on G2 and React
  • Graphin - Graph visualization library powered by React & Typescript (built on top of G6, maintained by Alibaba.
  • React-vis - React components to build data visualizations.
  • Recharts - Declarative react components to render D3 charts.
  • Victory - Composable components for building interactive data visualizations
  • nivo - Supercharged dataviz components for React with isomorphic ability, demo.
  • React Svg Textures - Textures.js ported to React. Fully isomorphic.
  • DevExtreme React Chart - High-performance plugin-based React chart for Bootstrap and Material Design.

React Native

  • F2 - An elegant, interactive and flexible charting library for mobile, maintained by Alibaba

Misc

  • Graphology - A robust & multipurpose Graph object for javascript & TypeScript; Serves as a base library to power other graph visualization libraries.
  • 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.js - A dynamic visualization library including timeline, networks and graphs (2D and 3D).

Android tools

C++ tools

Golang tools

  • svgo - Go Language Library for SVG generation.
  • plot - API for building and drawing plots in Go.
  • go-echars - Simple yet powerful data visualizing library for Go.

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.
  • JBChartView - Charting library for both line and bar graphs.
  • PNChart - A simple and beautiful chart lib used in Piner and CoinsMan.

Machine Learning tools

  • TensorWatch - 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 - Bokeh wrapper that makes it easy for data scientists to create charts.
  • diagram - Text mode diagrams using UTF-8 characters
  • ggplot - plotting system based on R's ggplot2.
  • glumpy - OpenGL scientific visualizations library.
  • holoviews - Complex and declarative visualizations from annotated data.
  • ipychart - The power of Chart.js in Jupyter Notebook.
  • mayai - interactive scientific data visualization and 3D plotting in Python.
  • matplotlib - 2D plotting library.
  • missingno - 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
  • pptk - Visualize and work with 2D/3D pointclouds
  • 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)
  • seaborn - A library for making attractive and informative statistical graphics.
  • toyplot - The kid-sized plotting toolkit for Python with grownup-sized goals.
  • three.py - 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 - generates statistical analytic reports with visualization for quick data analysis.
  • pyechars - 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 - 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 - 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 - A charting tool that produces automatic, shareable charts from any data file.
  • Gephi - An open-source platform for visualizing and manipulating large graphs
  • Kepler.gl - Geospatial analysis tool for large-scale data sets.
  • Mermaid - 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 - Sparklines for the shell. It have several implementations in different languages.
  • Visual-Insights - 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

Catalogs

Podcasts

Twitter accounts

Websites

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.

Contribute to this list: https://github.com/javierluraschi/awesome-dataviz