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
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).
- 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.
- 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.
- TensorWatch -
Debugging and visualization tool for data science and machine
learning
- 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.
- 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
- Chartkick - Create
charts with one line of Ruby.
- 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
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
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.