Skip to content

Matplotlib

Lukas Lange & Mert Eyit

Beispielbild

Matplotlib ist eine umfassende Python-Bibliothek für die Erstellung von qualitativ hochwertigen, wissenschaftlichen Grafiken und Diagrammen. Sie wurde entwickelt, um Data Scientists, Forschern und Ingenieuren eine leistungsstarke Werkzeugpalette zur Datenvisualisierung zur Verfügung zu stellen.

Geschichte

Matplotlib wurde von John D. Hunter ins Leben gerufen und hat sich seit seiner ersten Veröffentlichung im Jahr 2003 zu einer der beliebtesten Bibliotheken für Datenvisualisierung in der Python-Community entwickelt. Die Entwicklung und Wartung der Bibliothek wurde nach dem Tod von John D. Hunter von der Matplotlib-Community fortgesetzt.

Funktionen

Matplotlib bietet eine breite Palette von Funktionen, darunter:

  • Linien- und Flächendiagramme: Zur Visualisierung von Trends und Mustern.
  • Streudiagramme: Für die Untersuchung von Beziehungen zwischen Variablen.
  • Histogramme: Zur Darstellung von Datenverteilungen.
  • Balken- und Säulendiagramme: Zum Vergleich von Kategorien.
  • 3D-Plots: Für die Visualisierung dreidimensionaler Daten.

Darüber hinaus ermöglicht Matplotlib umfassende Anpassungen, um sicherzustellen, dass erstellte Grafiken den individuellen Anforderungen entsprechen.

Installation

Matplotlib kann einfach über den Python Package Index (PyPI) installiert werden. Der folgende Befehl kann in der Kommandozeile verwendet werden:

pip install matplotlib

:bulb: Tip: Dafür muss PIP (package installer for Python) bereits installiert sein

Beispiele

Linienplot

Beispielbild

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

plt.plot(x, y)
plt.xlabel('X-Achse')
plt.ylabel('Y-Achse')
plt.title('Einfacher Linienplot')
plt.show()
Es ist natürlich auch möglich mehrere Funktionen in einem Graph dazustellen.

Beispielbild

import matplotlib.pyplot as plt
import numpy as np

# Generate data
x = np.linspace(0, 2*np.pi, 100)
y1, y2 = np.sin(x), np.cos(x)

# Plotting multiple lines on a single plot
plt.plot(x, y1, label='Sin(x)', color='b')
plt.plot(x, y2, label='Cos(x)', color='r', linestyle='--')

# Adding labels and title
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Multiple Lines Plot')

# Displaying the legend and the plot
plt.legend()
plt.show()

Balkendiagramm

Beispielbild

import matplotlib.pyplot as plt

categories = ['A', 'B', 'C', 'D']
values = [3, 7, 2, 5]

plt.bar(categories, values, color='green')
plt.xlabel('Kategorien')
plt.ylabel('Werte')
plt.title('Balkendiagramm')
plt.show()

3D-Datenvisualisierung

Beispielbild

import matplotlib.pyplot as plt
import numpy as np

plt.style.use('_mpl-gallery')

# Make data
np.random.seed(19680801)
n = 100
rng = np.random.default_rng()
xs = rng.uniform(23, 32, n)
ys = rng.uniform(0, 100, n)
zs = rng.uniform(-50, -25, n)

# Plot
fig, ax = plt.subplots(subplot_kw={"projection": "3d"})
ax.scatter(xs, ys, zs)

ax.set(xticklabels=[],
       yticklabels=[],
       zticklabels=[])

plt.show()

:memo: Note: Diese Daten wurden zufällig generiert

Datenvisualisierung aus .csv Dateien

Pandas

Pandas (https://pandas.pydata.org/) als Bibliothek dient in erster Linie einer effizienten Datenbearbeitung in Python. Mit Hilfe Pandas lassen sich verschiedene Datentypen (CSV, JSON usw.) in Python einlesen und als sogenannte DataFrames speichern. Mit Hilfe der DataFrames sind wiederum weitere Datentransformationen und Analysen möglich. Pandas als Pythonbibliothek dient im Endeffekt vor allem der Datentransformation und Analyse. Visualisierungen gehören demnach nicht zu den Hauptanwendungen von Pandas – allerdings schafft die Umwandlung der Daten in DataFrames wichtige Grundlage für die weitere grafische Bearbeitung.

pip install pandas

Visualisieung der Jahrestemperaturabweichung

Beispielbild

import matplotlib.pyplot as plt
import pandas as pd

#Daten
link = "https://data.giss.nasa.gov/gistemp/graphs_v4/graph_data/Global_Mean_Estimates_based_on_Land_and_Ocean_Data/graph.csv"
Temp_NASA = pd.read_csv(link, header=1) # einlesen

#Plot
plt.plot(Temp_NASA["Year"],Temp_NASA["No_Smoothing"]);
plt.ylabel("Jahresmitteltemperaturabweichung \n gegenüber 1951-1980 [°C]");
plt.xlabel("Jahr");

:memo: Note: Diese Daten wurden Online bereitgestellt, dies würde jedoch genauso mit lokal gespeicherten Dateien funktionieren!

Dies ist nur ein kleiner Ausschnitt von dem was möglich ist.
Mehr Informationen zu Matplotlib gibt es hier !