Hinweis
Zum Ende springen, um den vollständigen Beispielcode herunterzuladen.
Mehrere y-Achsen mit Spines#
Erstellen Sie mehrere y-Achsen mit einer gemeinsamen x-Achse. Dies geschieht durch Erstellen eines twinx Axes, Unsichtbarmachen aller Spines außer der rechten und Verschieben ihrer Position mit set_position.
Beachten Sie, dass dieser Ansatz matplotlib.axes.Axes und deren Spines verwendet. Alternative Ansätze unter Verwendung von nicht standardmäßigen Axes werden im Parasite Axes Demo und Parasite Achsen Demo Beispielen gezeigt.

import matplotlib.pyplot as plt
fig, ax = plt.subplots()
fig.subplots_adjust(right=0.75)
twin1 = ax.twinx()
twin2 = ax.twinx()
# Offset the right spine of twin2. The ticks and label have already been
# placed on the right by twinx above.
twin2.spines.right.set_position(("axes", 1.2))
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")
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())
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())
ax.legend(handles=[p1, p2, p3])
plt.show()