Data Visualization

Awesome dataviz

Awesome Build Status

A curated list of awesome open-source data visualizations frameworks, libraries and software. Inspired by awesome-python.

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.
  • Dimple - An object-oriented API for business analytics.
  • Dygraphs - Interactive line charts library that works with huge datasets.
  • Echarts - Highly customizable and interactive charts ready for big datasets. React wrapper
  • Epoch - Perfect to create real-time charts.
  • 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.
  • TechanJS - Stock and financial charts.
  • TOAST UI Chart - Complete library with support for legacy browsers.

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.


  • 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.
  • - WebGL framework for visual exploratory data analysis of large datasets.
  • DataMaps - Interactive SVG maps using D3.js.
  • Leaflet - JavaScript library for mobile-friendly interactive maps.
  • Mapael - jQuery plugin based on raphael.js to display vector maps.



  • BizCharts - Alibaba data visualization library based on G2 and React. English docs
  • 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.


  • 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.
  • Vis.js - A dynamic visualization library including timeline, networks and graphs (2D and 3D).

Android tools

Excel tools

C++ tools

Golang tools

  • svgo - Go Language Library for SVG generation.

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.

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.
  • 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
  • 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.
  • - 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.

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
  • - A hack to put Graphviz on the web
  • - 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. - Circos - Visualizes data in a circular layout, ideal for exploring relationships between objects or positions. Mirror on github. - Gephi - An open-source platform for visualizing and manipulating large graphs - - Geospatial analysis tool for large-scale data sets. - Lightning - A data-visualization server providing API-based access to reproducible, web-based, interactive visualizations. - RAW - Create web visualizations from CSV or Excel files. - Spark - Sparklines for the shell. It have several implementations in different languages.




Twitter accounts



  • 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!



To the extent possible under law, Fabio Souto has waived all copyright and related or neighboring rights to this work.