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.
Features include:
- 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 is written in Python. Learn Python with our recommended free books and free tutorials.
Return to Plotting Tools | Return to Python Visualization Packages
Popular series | |
---|---|
![]() | The largest compilation of the best free and open source software in the universe. Each article is supplied with a legendary ratings chart helping you to make informed decisions. |
![]() | Hundreds of in-depth reviews offering our unbiased and expert opinion on software. We offer helpful and impartial information. |
![]() | The Big List of Active Linux Distros is a large compilation of actively developed Linux distributions. |
![]() | Replace proprietary software with open source alternatives: Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle, Atlassian, Corel, Cisco, Intuit, and SAS. |
![]() | Awesome Free Linux Games Tools showcases a series of tools that making gaming on Linux a more pleasurable experience. This is a new series. |
![]() | Machine Learning explores practical applications of machine learning and deep learning from a Linux perspective. We've written reviews of more than 40 self-hosted apps. All are free and open source. |
![]() | New to Linux? Read our Linux for Starters series. We start right at the basics and teach you everything you need to know to get started with Linux. |
![]() | Alternatives to popular CLI tools showcases essential tools that are modern replacements for core Linux utilities. |
![]() | Essential Linux system tools focuses on small, indispensable utilities, useful for system administrators as well as regular users. |
![]() | Linux utilities to maximise your productivity. Small, indispensable tools, useful for anyone running a Linux machine. |
![]() | Surveys popular streaming services from a Linux perspective: Amazon Music Unlimited, Myuzi, Spotify, Deezer, Tidal. |
![]() | Saving Money with Linux looks at how you can reduce your energy bills running Linux. |
![]() | Home computers became commonplace in the 1980s. Emulate home computers including the Commodore 64, Amiga, Atari ST, ZX81, Amstrad CPC, and ZX Spectrum. |
![]() | Now and Then examines how promising open source software fared over the years. It can be a bumpy ride. |
![]() | Linux at Home looks at a range of home activities where Linux can play its part, making the most of our time at home, keeping active and engaged. |
![]() | Linux Candy reveals the lighter side of Linux. Have some fun and escape from the daily drudgery. |
![]() | Getting Started with Docker helps you master Docker, a set of platform as a service products that delivers software in packages called containers. |
![]() | Best Free Android Apps. We showcase free Android apps that are definitely worth downloading. There's a strict eligibility criteria for inclusion in this series. |
![]() | These best free books accelerate your learning of every programming language. Learn a new language today! |
![]() | These free tutorials offer the perfect tonic to our free programming books series. |
![]() | Linux Around The World showcases usergroups that are relevant to Linux enthusiasts. Great ways to meet up with fellow enthusiasts. |
![]() | Stars and Stripes is an occasional series looking at the impact of Linux in the USA. |