Data Visualization

20 Best Free and Open Source Python Visualization Packages

Python is a very popular general purpose programming language — with good reason. It’s object oriented, semantically structured, extremely versatile, and well supported. Programmers and data scientists favour Python because it’s easy to use and learn, offers a good set of built-in features, and is highly extensible. Python’s readability makes it an excellent first programming language.

Data visualization is an important method of exploring data and sharing results with others. When it comes to this field, Python is rubbing shoulders with R as the language of choice. Unfortunately, Python’s visualization landscape is pretty difficult to fathom without some serious digging. In part, this is because there are so many good open source Python visualization libraries available. Some of the packages are suitable for any field, others excel at a specific task.

If you wish to visualize some data in Python, you’ll want to choose an appropriate package. Python has a fantastic range of packages to produce mesmerizing visualizations. Popularity inevitably brings lots of decisions and choices to make. Don’t be bamboozled by that choice!

matplotlib emerged as the main data visualization library. It’s been in development for many years and is definitely the most mature library recommended here. However, it’s not necessarily the ideal solution, given that the best library is often determined by your own specific requirements.

For example, let’s say you wish to analyze and visualize big data. In this scenario, VisPy and Datashader are good Python solutions. When working with large datasets, visualizations are often the only way available to understand the properties of that dataset — there are way too many data points to examine each one.

This article focuses on the finest Python visualization packages. All of them are released under an open source license.

Ratings chart for best free and open source Python visualization software

Python Visualization Packages
matplotlibPython 2D plotting library which produces publication quality figures
BokehElegant, concise construction of versatile graphics
DiagramsDraw the cloud system architecture in Python code
seabornPython visualization library based on matplotlib
DashPython framework for building analytical web applications
VisPyVisualize massive datasets in real time
Vega-AltairDeclarative Visualization in Python
PlotlyInteractive, browser-based graphing library for Python
plotnineGrammar of graphics for Python
bqplotInteractive Plotting Framework for the Jupyter Notebook
PyQtGraphPython graphics and GUI library built on PyQt4 / PySide and numpy
VaexFast visualization of big data
HoloViewsMake Data Analysis and Visualization Seamless
DatashaderGenerates aggregate arrays and representations of them as images
ytMulti-code Toolkit for Analyzing and Visualizing Volumetric Data
foliumVisualize data in a Leaflet map
GlumpyIntuitive interface between NumPy and modern OpenGL
GeoViewsExplore and visualize geographical, meteorological, and oceanographic datasets
PygalDynamic SVG charting library
GlueMulti-dimensional linked-data exploration

This article has been revamped in line with our recent announcement.

A few additional packages are also worth a mention, if only because they met our needs for memorable projects:

  • missingno – provides a small toolset of flexible and easy-to-use missing data visualizations and utilities.
  • Biggles – a simple, object-oriented plotting library for creating publication-quality 2D scientific plots. It’s good if you have modest requirements.
  • ggplot – a plotting system for Python that is based on ggplot2, a popular plotting system for R.

There are, of course, many other Python packages that are competent for visualizing data, but which are unfamiliar to us. Feel free to share in the comments alternative open source Python packages you love, what you used them for, and why you admire them.

Background information about Python for the uninitiated

Python is a general-purpose high-level programming language. Its design philosophy emphasizes programmer productivity and code readability. It has a minimalist core syntax with very few basic commands and simple semantics, but it also has a large and comprehensive standard library, including an Application Programming Interface (API).

It features a fully dynamic type system and automatic memory management, similar to that of Scheme, Ruby, Perl, and Tcl, avoiding many of the complexities and overheads of compiled languages. The language was created by Guido van Rossum in 1991, and continues to grow in popularity, in part because it is easy to learn with a readable syntax. The name Python derives from the sketch comedy group Monty Python, not from the snake.

The prominence of Python is, in part, due to its flexibility, with the language frequently used by web and desktop developers, system administrators, data scientists, and machine learning engineers. It’s easy to learn and powerful to develop any kind of system with the language. Python’s large user base offers a virtuous circle. There’s more support available from the open source community for budding programmers seeking assistance.

Best Free and Open Source SoftwareRead our complete collection of recommended free and open source software. Our curated compilation covers all categories of software.

The software collection forms part of our series of informative articles for Linux enthusiasts. There are hundreds of in-depth reviews, open source alternatives to proprietary software from large corporations like Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

There are also fun things to try, hardware, free programming books and tutorials, and much more.
Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Inline Feedbacks
View all comments