Plots mit unterschiedlichen Skalen erstellen

PythonPythonBeginner
Jetzt üben

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

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernst du, wie du in Python mit Matplotlib Plots mit unterschiedlichen Skalen erstellst. Insbesondere lernst du, wie du zwei Plots auf der gleichen Achse mit unterschiedlichen linken und rechten Skalen erstellst.

Tipps für die VM

Nachdem der VM-Start abgeschlossen ist, klicke in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu öffnen.

Manchmal musst du 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 du während des Lernens Probleme hast, kannst du Labby gerne fragen. Gib nach der Sitzung Feedback, und wir werden das Problem für dich prompt beheben.

Importiere erforderliche Bibliotheken

Bevor wir beginnen, importieren wir die erforderlichen Bibliotheken. Für diesen Tutorial werden wir Matplotlib und NumPy verwenden.

import matplotlib.pyplot as plt
import numpy as np

Erstelle einige simulierte Daten

Als nächstes werden wir einige simulierte Daten erstellen, die wir für unsere Plots verwenden werden. Wir werden numpy.arange verwenden, um ein Array von Werten im Bereich von 0,01 bis 10,0 mit einem Schritt von 0,01 zu erstellen. Anschließend werden wir numpy.exp und numpy.sin verwenden, um zwei Datensätze zu erstellen.

## Create some mock data
t = np.arange(0.01, 10.0, 0.01)
data1 = np.exp(t)
data2 = np.sin(2 * np.pi * t)

Erzeuge den Plot

Jetzt, wo wir unsere Daten haben, können wir unseren Plot erstellen. Wir beginnen, indem wir ein Achsenobjekt mit matplotlib.pyplot.subplots() erstellen. Anschließend werden wir unseren ersten Datensatz auf diesem Achsenobjekt plotten und die Label-Farbe auf rot setzen.

fig, ax1 = plt.subplots()

color = 'tab:red'
ax1.set_xlabel('time (s)')
ax1.set_ylabel('exp', color=color)
ax1.plot(t, data1, color=color)
ax1.tick_params(axis='y', labelcolor=color)

Als nächstes werden wir ein zweites Achsenobjekt instanziieren, das die gleiche x-Achse wie das erste Achsenobjekt teilt, indem wir die ax1.twinx()-Methode verwenden. Anschließend werden wir unseren zweiten Datensatz auf diesem neuen Achsenobjekt plotten und die Label-Farbe auf blau setzen.

ax2 = ax1.twinx()

color = 'tab:blue'
ax2.set_ylabel('sin', color=color)
ax2.plot(t, data2, color=color)
ax2.tick_params(axis='y', labelcolor=color)

Schließlich werden wir das Layout unseres Plots mit der fig.tight_layout()-Methode anpassen und es mit matplotlib.pyplot.show() anzeigen.

fig.tight_layout()
plt.show()

Überprüfe den Plot

Nehmen Sie sich einen Moment Zeit, um den erstellten Plot zu überprüfen. Beachten Sie, wie die beiden Datensätze unterschiedliche Skalen auf der y-Achse haben. Der erste Datensatz wird in rot geplottet und hat eine Skala auf der linken Seite des Plots, während der zweite Datensatz in blau geplottet und eine Skala auf der rechten Seite des Plots hat.

Zusammenfassung

Herzlichen Glückwunsch! Sie haben gelernt, wie Sie in Python mit Matplotlib Plots mit unterschiedlichen Skalen erstellen. Insbesondere haben Sie gelernt, wie Sie zwei Plots auf derselben Achse mit unterschiedlichen linken und rechten Skalen erstellen, indem Sie zwei unterschiedliche Achsen verwenden, die die gleiche x-Achse teilen. Da die beiden Achsen unabhängig sind, können Sie separat matplotlib.ticker-Formatter und -Locator nach Belieben verwenden.