Data Visualization

matplotlib – Python 2D plotting library

matplotlib is a pure Python 2D plotting library designed to bring publication quality plotting to Python with a syntax familiar to MATLAB users. All of the plotting commands in the pylab interface can be accessed either via a functional interface familiar to MATLAB users or an object oriented interface familiar to Python users.

The library uses numpy for handling large data sets and supports a variety of output backends including GTK GTKAgg, GTKCairo, FltkAgg, QtAgg, TkAgg and WXAgg.

matplotlib is designed with the philosophy that you should be able to create simple plots with just a few commands, or even just one. It was originally conceived with MatLab’s users in mind. It’s the oldest plotting library but is still under active development.

Key Features

  • Extremely powerful – matplotlib can create almost any visualization.
  • Generate:
    • Plots;
    • Histograms;
    • Power spectra;
    • Bar charts;
    • Error charts;
    • Scatter plots and more.
  • Designed to be usable as MATLAB.
  • Object-oriented API for embedding plots into applications.
  • Procedural “pylab” interface based on a state machine.
  • Based on Python, a full-featured modern object-oriented programming language suitable for large-scale software development.
  • Numerous rendering backends: GTK, GTKAgg, GTKCairo, GTK3Agg, GTK3Cairo, MacOSX, nbAgg, Qt4Agg, Qt4Cairo, Qt5Agg, Qt5Cairo, TkAgg, TkCairo, WebAgg, WX, WXAgg, WXCairo, agg, cairo, gdk, pdf, pgf, ps, svg, template
  • Suitable for fast scripting, including CGI scripts.
  • Free, open source, no license servers.
  • Native SVG support.
  • Well-tested tool with mature code.
  • Rich ecosystem of Python tools are built around matplotlib.
  • Support for Python 3 (support for Python 2 was dropped).

If you are looking to create web/interactive graphs, I’d recommend one of the other Python visualization packages.

Website: matplotlib.org
Support: Documentation, GitHub Code Repository
Developer: Michael Droettboom and many contributors (project started by the late John Hunter)
License: Based on the PSF license. Matplotlib only uses BSD compatible code.

matplotlib

matplotlib
Click image for full size

matplotlib is written in Python. Learn Python with our recommended free books and free tutorials.


Related Software

Image Processing Libraries
matplotlibPython 2D plotting library
OpenCVLibrary that includes several hundreds of computer vision algorithms
VIPSFast image processing library with low memory requirements
SciPyScientific Computing Tools for Python
PillowFork of the Python Imaging Library
Pillow-SIMDHighly optimized downstream Pillow fork
scikit-image Collection of algorithms for image processing
ImageMagickUses multiple computational threads to increase performance
GraphicsMagickBilled as the Swiss army knife of image processing.
GEGLGeneric Graphics Library
MahotasLibrary of fast computer vision algorithms
SimpleITKImage analysis toolkit with a large number of components
NetpbmToolkit for manipulation of graphic images
LibGDLibrary for the dynamic creation of images by developers

Read our verdict in the software roundup.

Plotting Tools
matplotlibPython based plotting system in a style similar to Matlab
ggplot2Powerful R package for declaratively creating graphics
gnuplotCommand-line driven interactive plotting program
ROOTSolves the data analysis challenges of high-energy physics
OctaveBuilt-in plotting and visualization tools
DataMeltProduces professional graphics with libraries for data manipulation
VeuszScientific plotting and graphing program
LabPlotData plotting and function analysis tool for KDE
GLEGraphics Layout Engine
PyVista3D plotting and mesh analysis
SciDAVisScientific Data Analysis and Visualization
PLplotScientific plotting library
CtiogaCommand-line plotting utility
AlphaPlotFork of SciDAVis
RLPlotGenerate publication quality graphs
ZeGrapher2D math and data plotter
GeniusEducational tool in mathematics and for research
KstReal-time large dataset viewing and plotting tool
PlotsSimple graph plotting app for GNOME
SSPlotSimple plotting utility and numerical simulator

Read our verdict in the software roundup.

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

Read our verdict in the software roundup.


Best Free and Open Source Software Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.

This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more.

Know a useful open source Linux program that we haven’t covered yet? Let us know by completing this form.
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments