matplotlib

matplotlib
Matplotlib logo.svg
Original author(s) John Hunter
Developer(s) Michael Droettboom et al.
Stable release 1.2.1 (26 March 2013; 56 days ago (2013-03-26)) [±]
Written in Python
Operating system Cross-platform
Type Plotting
License matplotlib licence
Website matplotlib.org

matplotlib is a plotting library for the Python programming language and its NumPy numerical mathematics extension. It provides an object-oriented API for embedding plots into applications using general-purpose GUI toolkits like wxPython, Qt, or GTK. There is also a procedural "pylab" interface based on a state machine (like OpenGL), designed to closely resemble that of MATLAB.

matplotlib was originally written by John Hunter, has an active development community,[1] and is distributed under a BSD-style license. Michael Droettboom was nominated as matplotlib's lead developer shortly before John Hunter's death in 2012.[2]

Currently, matplotlib 1.2.1 supports Python versions 2.6 through 3.3. Matplotlib 1.2 is the first version of matplotlib to support Python 3.x.[3]

Comparison with MATLAB

The pylab interface makes matplotlib easy to learn for experienced MATLAB users, making it a viable alternative to MATLAB as a teaching tool for numerical mathematics and signal processing.

Some of the advantages of the combination of Python, NumPy, and matplotlib over MATLAB include:

  • Based on Python, a full-featured modern object-oriented programming language suitable for large-scale software development
  • Free, open source, no license servers
  • Native SVG support

Typically pylab is imported to bring NumPy and matplotlib into a single global namespace for the most MATLAB like syntax, however a more explicit import style, which names both matplotlib and NumPy, is the prefered coding style.[4]

↑Jump back a section

Toolkits

Several toolkits are available which extend matplotlib functionality. Some are separate downloads, others ship with the matplotlib source code but have external dependencies.[5]

  • Basemap: map plotting with various map projections, coastlines, and political boundaries[6]
  • Cartopy: a mapping library featuring object-oriented map projection definitions, and arbitrary point, line, polygon and image transformation capabilities.[7] (matplotlib v1.2 and above)
  • Excel tools: utilities for exchanging data with Microsoft Excel
  • GTK tools: interface to the GTK+ library
  • Qt interface
  • Mplot3d: 3-D plots
  • Natgrid: interface to the natgrid library for gridding irregularly spaced data.
↑Jump back a section

Related projects

↑Jump back a section

References

  1. ^ "Matplotlib github stats". matplotlib.org. 
  2. ^ "Announcing Michael Droettboom as the lead matplotlib developer". matplotlib.org. 
  3. ^ "New in matplotlib 1.2". Retrieved 2012-11-25. 
  4. ^ "Matplotlib coding styles". matplotlib.org. 
  5. ^ "Toolkits". matplotlib.org. 
  6. ^ Whitaker, Jeffrey. "The Matplotlib Basemap Toolkit User’s Guide (v. 1.0.5)". Matplotlib Basemap Toolkit documentation. Retrieved 24 April 2013. 
  7. ^ Elson, Philip. "Cartopy". Retrieved 24 April 2013. 
  8. ^ "Bigglessimple, elegant python plotting". biggles.sourceforge.net. Retrieved 24 November 2010. 
  9. ^ "Chaco". code.enthought.com. 
  10. ^ "Gnuplot.py on". gnuplot-py.sourceforge.net. Retrieved 24 November 2010. 
  11. ^ "PyCha". bitbucket.org. 
  12. ^ "PyPlotter". 
  13. ^ "PyX". pyx.sourceforge.net/. 
↑Jump back a section

External links


↑Jump back a section

Read in another language

Last modified on 21 May 2013, at 01:43