Erstellen von Grafiken mit Matplotlib in Python

Beginner

This tutorial is from open-source community. Access the source code

Einführung

In diesem Lab werden Sie durch den Prozess des Erstellens von Grafiken mit Titeln, Untertiteln und globalen Beschriftungen mithilfe der Matplotlib-Bibliothek in Python geführt. Sie werden lernen, wie verschiedene Arten von Oszillationsdiagrammen erstellt werden und wie eine globale x- oder y-Beschriftung zu einer Grafik hinzugefügt wird.

Tipps für die virtuelle Maschine

Nachdem der Start der virtuellen Maschine abgeschlossen ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu nutzen.

Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund der Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn Sie bei der Lernphase Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie prompt beheben.

Erstellen eines gedämpften und ungedämpften Oszillationsdiagramms

Zunächst werden wir eine Grafik mit zwei Teilgrafiken erstellen, eine für eine gedämpfte Oszillation und eine für eine ungedämpfte Oszillation. Wir werden die np.linspace()-Funktion verwenden, um ein Array von Zeitwerten zu erstellen und dann die entsprechenden Amplitudenwerte für jede Art von Oszillation mit den np.cos()- und np.exp()-Funktionen darzustellen.

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.0, 5.0, 501)

fig, (ax1, ax2) = plt.subplots(1, 2, layout='constrained', sharey=True)
ax1.plot(x, np.cos(6*x) * np.exp(-x))
ax1.set_title('gedämpft')
ax1.set_xlabel('Zeit (s)')
ax1.set_ylabel('Amplitude')

ax2.plot(x, np.cos(6*x))
ax2.set_xlabel('Zeit (s)')
ax2.set_title('ungedämpft')

fig.suptitle('Verschiedene Arten von Oszillationen', fontsize=16)

plt.show()

Fügen Sie globalen x- und y-Beschriftungen zu einer Grafik hinzu

Als nächstes werden wir globalen x- und y-Beschriftungen zu einer Grafik hinzufügen, die die relativen Aktienkurse verschiedener Unternehmen im Laufe der Zeit zeigt. Wir werden die np.genfromtxt()-Funktion verwenden, um eine CSV-Datei mit Aktienkursdaten einzulesen und dann die Daten für jedes Unternehmen mit Hilfe von Teilgrafiken darzustellen. Wir werden die fig.supxlabel()- und fig.supylabel()-Methoden verwenden, um globale x- und y-Beschriftungen zur Grafik hinzuzufügen.

from matplotlib.cbook import get_sample_data

with get_sample_data('Stocks.csv') as file:
    stocks = np.genfromtxt(
        file, delimiter=',', names=True, dtype=None,
        converters={0: lambda x: np.datetime64(x, 'D')}, skip_header=1)

fig, axs = plt.subplots(4, 2, figsize=(9, 5), layout='constrained',
                        sharex=True, sharey=True)
for nn, ax in enumerate(axs.flat):
    column_name = stocks.dtype.names[1+nn]
    y = stocks[column_name]
    line, = ax.plot(stocks['Date'], y / np.nanmax(y), lw=2.5)
    ax.set_title(column_name, fontsize='small', loc='left')
fig.supxlabel('Jahr')
fig.supylabel('Aktienkurs relativ zum Maximum')

plt.show()

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie mit der Matplotlib-Bibliothek in Python Grafiken mit Titeln und Untertiteln erstellen. Sie haben auch gelernt, wie Sie globalen x- und y-Beschriftungen zu einer Grafik hinzufügen. Diese Fähigkeiten sind nützlich bei der Erstellung von klaren und informativen Visualisierungen von Daten.