Multiplot mit Parasitenachsen in Matplotlib 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 lernen wir, wie man mithilfe von Python Matplotlib einen Plot mit mehreren Datensätzen und einem Parasiten-Achsen-System erstellt. Wir verwenden mpl_toolkits.axes_grid1.parasite_axes.host_subplot und mpl_toolkits.axisartist.axislines.Axes, um einen Plot mit mehreren y-Achsen zu erstellen.

Tipps für die VM

Nachdem der Start der virtuellen Maschine abgeschlossen ist, klicken Sie in der linken oberen 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 von 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.

Bibliotheken importieren

Zunächst müssen wir die erforderlichen Bibliotheken importieren. Wir verwenden matplotlib.pyplot zum Erstellen von Plots und mpl_toolkits zum Erstellen von Parasitenachsen.

import matplotlib.pyplot as plt
from mpl_toolkits import axisartist
from mpl_toolkits.axes_grid1 import host_subplot

Host- und Parasitenachsen erstellen

Wir werden eine Host-Achse und zwei Parasitenachsen mit den Funktionen host_subplot() und twinx() erstellen. Die host_subplot()-Funktion erstellt eine Host-Achse, und die twinx()-Funktion erstellt Parasitenachsen, die die gleiche x-Achse mit der Host-Achse teilen.

host = host_subplot(111, axes_class=axisartist.Axes)
plt.subplots_adjust(right=0.75)

par1 = host.twinx()
par2 = host.twinx()

Parasitenachse anpassen

Wir müssen die Position der Parasitenachsen anpassen. Die new_fixed_axis()-Funktion wird verwendet, um eine neue y-Achse auf der rechten Seite des Plots zu erstellen. Die toggle()-Funktion wird verwendet, um alle Markierungen und Beschriftungen der rechten y-Achse anzuzeigen.

par2.axis["right"] = par2.new_fixed_axis(loc="right", offset=(60, 0))

par1.axis["right"].toggle(all=True)
par2.axis["right"].toggle(all=True)

Die Daten plotten

Wir werden drei Datensätze auf dem gleichen Plot darstellen: Dichte, Temperatur und Geschwindigkeit. Wir werden die plot()-Funktion verwenden, um die Daten zu plotten.

p1, = host.plot([0, 1, 2], [0, 1, 2], label="Density")
p2, = par1.plot([0, 1, 2], [0, 3, 2], label="Temperature")
p3, = par2.plot([0, 1, 2], [50, 30, 15], label="Velocity")

Achsengrenzen und -beschriftungen festlegen

Wir werden die x- und y-Achsengrenzen und -beschriftungen für jede Achse mit der set()-Funktion festlegen.

host.set(xlim=(0, 2), ylim=(0, 2), xlabel="Distance", ylabel="Density")
par1.set(ylim=(0, 4), ylabel="Temperature")
par2.set(ylim=(1, 65), ylabel="Velocity")

Legende und Farbe hinzufügen

Wir werden einer Grafik eine Legende hinzufügen und die Beschriftungen jeder Achse in die Farbe des entsprechenden Datensatzes einfärben, indem wir die Funktionen legend() und label.set_color() verwenden.

host.legend()

host.axis["left"].label.set_color(p1.get_color())
par1.axis["right"].label.set_color(p2.get_color())
par2.axis["right"].label.set_color(p3.get_color())

Zeige den Plot an

Schließlich werden wir den Plot mit der show()-Funktion anzeigen.

plt.show()

Zusammenfassung

In diesem Lab haben wir gelernt, wie man in Python Matplotlib einen Plot mit mehreren Datensätzen mithilfe von Parasitenachsen erstellt. Wir haben die Funktionen mpl_toolkits.axes_grid1.parasite_axes.host_subplot und mpl_toolkits.axisartist.axislines.Axes verwendet, um einen Plot mit mehreren y-Achsen zu erstellen. Wir haben auch gelernt, wie man die Position der Parasitenachsen anpasst, die Daten plotten, die Achsengrenzen und -beschriftungen festlegen, der Grafik eine Legende und Farbe hinzufügen und den Plot anzeigen.