Mehrfache Y-Achsen-Darstellung mit Matplotlib

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

Beim Datenvisualisierung ist es oft erforderlich, mehrere Variablen mit unterschiedlichen Maßeinheiten auf derselben Grafik zu plotten. Eine häufige Methode, um dies zu erreichen, ist die Verwendung mehrerer y-Achsen, wobei jede y-Achse einer anderen Variable entspricht. In diesem Lab werden wir lernen, wie man eine Grafik mit mehreren y-Achsen mit Matplotlib erstellt.

VM-Tipps

Nachdem der VM-Start 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 von 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.

Importieren der erforderlichen Bibliotheken

Wir beginnen mit dem Importieren der erforderlichen Bibliotheken, Matplotlib und NumPy. Matplotlib ist eine Bibliothek zur Datenvisualisierung, und NumPy ist eine Bibliothek für numerische Berechnungen in Python.

import matplotlib.pyplot as plt
import numpy as np

Erstellen eines Figure- und Axes-Objekts

Wir erstellen ein Figure- und Axes-Objekt, das in Matplotlib einen einzelnen Plot darstellt.

fig, ax = plt.subplots()

Hinzufügen einer zusätzlichen y-Achse

Wir fügen einer zusätzlichen y-Achse zu dem Plot hinzu, indem wir die twinx-Methode verwenden. Dies erzeugt eine neue y-Achse auf der rechten Seite des Plots.

twin1 = ax.twinx()

Festlegen der Position der zusätzlichen y-Achse

Wir legen die Position der zusätzlichen y-Achse mit der set_position-Methode fest. Dadurch wird die zusätzliche y-Achse rechts von der ursprünglichen y-Achse platziert.

twin1.spines.right.set_position(("axes", 1.2))

Hinzufügen von Daten zum Plot

Wir fügen Daten zum Plot hinzu, indem wir die plot-Methode verwenden. Wir fügen drei Linien zum Plot hinzu, wobei jede Linie eine unterschiedliche y-Achse hat.

p1, = ax.plot([0, 1, 2], [0, 1, 2], "C0", label="Density")
p2, = twin1.plot([0, 1, 2], [0, 3, 2], "C1", label="Temperature")
p3, = twin2.plot([0, 1, 2], [50, 30, 15], "C2", label="Velocity")

Festlegen der Grenzen und Beschriftungen der Achsen

Wir legen die Grenzen und Beschriftungen für jede y-Achse mit der set-Methode fest. Wir setzen auch die Farbe der Beschriftungen, um sie der Farbe der Linien zu entsprechen, indem wir die set_color-Methode verwenden.

ax.set(xlim=(0, 2), ylim=(0, 2), xlabel="Distance", ylabel="Density")
twin1.set(ylim=(0, 4), ylabel="Temperature")
twin2.set(ylim=(1, 65), ylabel="Velocity")

ax.yaxis.label.set_color(p1.get_color())
twin1.yaxis.label.set_color(p2.get_color())
twin2.yaxis.label.set_color(p3.get_color())

Festlegen der Tick-Farben

Wir legen die Tick-Farben für jede y-Achse fest, um sie der Farbe der Beschriftungen zu entsprechen.

ax.tick_params(axis='y', colors=p1.get_color())
twin1.tick_params(axis='y', colors=p2.get_color())
twin2.tick_params(axis='y', colors=p3.get_color())

Fügen einer Legende zum Plot hinzu

Wir fügen einer Legende zum Plot hinzu, indem wir die legend-Methode verwenden. Wir übergeben eine Liste von Linienobjekten als Parameter handles.

ax.legend(handles=[p1, p2, p3])

Zeige den Plot an

Wir zeigen den Plot an, indem wir die show-Methode verwenden.

plt.show()

Zusammenfassung

In diesem Lab haben wir gelernt, wie man mit Matplotlib einen Graphen mit mehreren y-Achsen erstellt. Wir haben ein Figure- und Axes-Objekt erstellt, eine zusätzliche y-Achse hinzugefügt, die Position der zusätzlichen y-Achse festgelegt, Daten zum Plot hinzugefügt, die Grenzen und Beschriftungen der Achsen gesetzt, die Tick-Farben festgelegt, eine Legende zum Plot hinzugefügt und den Plot angezeigt. Diese Technik kann nützlich sein, wenn man Variablen mit unterschiedlichen Maßeinheiten auf dem gleichen Graphen vergleicht.