Matplotlib

Matplotlib

Matplotlib icon.svg
Matplotlib screenshot.png
Eine Zusammenstellung aus fertigen Graphen und dem dazugehörigen Programmcode.
Basisdaten

EntwicklerJohn D. Hunter
Erscheinungsjahr2003[1]
Aktuelle Version3.5.0[2]
(16. November 2021)
Betriebssystemplattformunabhängig
ProgrammiersprachePython
KategorieProgrammbibliothek
LizenzMatplotlib-Lizenz
matplotlib.org

Matplotlib ist eine Programmbibliothek für die Programmiersprache Python, die es erlaubt, mathematische Darstellungen aller Art anzufertigen.

Beschreibung

Matplotlib kann mit Python 2.x (bis Matplotlib 2.2.x) und 3.x verwendet werden und funktioniert auf allen gängigen Betriebssystemen. Dabei wird eine Python-ähnliche objektorientierte Schnittstelle verwendet. Nach dem Importieren der Bibliothek kann man graphische Darstellungen mithilfe der Python-Konsole erzeugen. Man kann jedoch auch Matplotlib in bestehende Python-Programme integrieren. Dazu verwendet Matplotlib Anbindungen zu GUI-Bibliotheken wie GTK+, Qt, wxWidgets und Tk. Die Grafiken können in einer Vielzahl von Formaten erstellt werden, z. B.: SVG, PNG, Anti-Grain Geometry, EPS, PDF.

Entwicklung

Die erste Version von Matplotlib wurde von John D. Hunter in den Jahren 2002 und 2003 entwickelt.[3] Gleich zu Beginn war es als freie Open-Source-Bibliothek gedacht. Heute wird die Entwicklung auf GitHub von vielen Personen vorangetrieben.[4]

Beispiele

Kurven

Matplotlib3 lineplot.svg
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> a = np.linspace(0, 8, 501)
>>> b = np.exp(-a)
>>> plt.plot(a, b)
>>> plt.show()

Histogramm

Matplotlib3 histogram.svg
>>> import matplotlib.pyplot as plt
>>> from numpy.random import normal,rand
>>> x = normal(size=200)
>>> plt.hist(x, bins=30, edgecolor='black')
>>> plt.show()

Streudiagramm

Matplotlib3 scatter.svg
>>> import matplotlib.pyplot as plt
>>> from numpy.random import rand
>>> a = rand(100)
>>> b = rand(100)
>>> plt.scatter(a, b, edgecolor='black')
>>> plt.show()

3D-Plot

Matplotlib3 surf3d.svg
>>> from matplotlib import cm
>>> from mpl_toolkits.mplot3d import Axes3D
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> fig = plt.figure()
>>> ax = fig.add_subplot(projection='3d')
>>> X = np.arange(-5, 5, 0.25)
>>> Y = np.arange(-5, 5, 0.25)
>>> X, Y = np.meshgrid(X, Y)
>>> R = np.sqrt(X**2 + Y**2)
>>> Z = np.sin(R)
>>> surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm, edgecolor='black')
>>> plt.show()

Weitere Beispiele

Weblinks

Commons: Matplotlib – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

  1. matplotlib.org.
  2. Release 3.5.0.
  3. John D. Hunter: Matplotlib: A 2D Graphics Environment. In: Computing in Science & Engineering. 9, Nr. 3, September, S. 90–95. doi:10.1109/MCSE.2007.55.
  4. Matplotlib Credits. In: Matplotlib. Matplotlib. Abgerufen am 7. August 2014.

Auf dieser Seite verwendete Medien

Matplotlib3 scatter.svg
Autor/Urheber: Geek3, Lizenz: CC BY-SA 4.0
An example scatter plot of random points made with matplotlib version 3
Rosenbrock function.svg
Rosenbrock function over . The Python code needs at least Matplotlib v0.99. The MATLAB/Octave code was tested with GNU Octave 4.2.2 and MATLAB R2016a.
QBO Cycle observed.svg
Radiosondes data showing the Quasi-biennal oscillation of the stratospheric wind direction near the Equator.
Matplotlib3 lineplot.svg
Autor/Urheber: Geek3, Lizenz: CC BY-SA 4.0
An example line plot of an exponential function made with matplotlib version 3
Kuwait-population-pyramid-2017.svg
Autor/Urheber: MagHoxpox, Lizenz: CC BY-SA 4.0
Population Pyramid of Kuwait in 2017.

Population in thousand.

Data from the United Nations, DESA/Population Division https://esa.un.org/unpd/wpp/DataQuery/

Created with Python and Matplotlib.
Matplotlib3 histogram.svg
Autor/Urheber: Geek3, Lizenz: CC BY-SA 4.0
An example histogram made with matplotlib version 3
Export-Worldmap-2016.svg
Autor/Urheber: MagHoxpox, Lizenz: CC BY-SA 4.0
Amount of exports in millions of dollars per country in 2016, in logarithmic scale.

Data from from

http://data.worldbank.org/indicator/NE.EXP.GNFS.CD?year_high_desc=true

and

https://de.wikipedia.org/wiki/Liste_der_L%C3%A4nder_nach_Exporten

Country shapes from http://www.naturalearthdata.com/downloads/110m-cultural-vectors

Created with Python and Matplotlib Basemap Toolkit.
Helmholtz coil, B magnitude cross section.svg
Autor/Urheber: Morn, Lizenz: CC BY-SA 3.0
Cross section of B (magnetic field strength) magnitude in a Helmholtz coil (actually consisting of two coils: one at the top, one at the bottom in the plot). The eight contours are for field magnitudes of 0.5 B0, 0.8 B0, 0.9 B0, 0.95 B0, 0.99 B0, 1.01 B0, 1.05 B0, and 1.1 B0, where B0 is field strength at center. The large center area has almost uniform field strength.
Temp-sunspot-co2.svg
(c) Leland McInnes aus der englischsprachigen Wikipedia, CC BY-SA 3.0
Global average temperature, atmospheric CO2, and sunspot activity since 1850. Thick lines for temperature and sunspots represent a 25 year LOWESS and moving average smoothing of the raw data.
Matplotlib screenshot.png
Autor/Urheber: Geek3, Lizenz: CC BY 3.0
A screenshot showing Matplotlib plots of one 3D plot_surface graph and a polar bar graph resembling the Matplotlib logo together with the graphic's python source code opened in a text editor.
Matplotlib3 surf3d.svg
Autor/Urheber: Geek3, Lizenz: CC BY-SA 4.0
An example 3D surface plot made with matplotlib version 3