Hinzufügen einer y-Achsenbeschriftung zur sekundären y-Achse in Matplotlib
-
Direkte Interaktion mit dem
axes
Objekt -
DataFrame.plot
-Methode zum Hinzufügen einer y-Achsenbeschriftung zur sekundären y-Achse
Wir können direkt mit dem Achsen-Objekt interagieren oder die DataFrame.plot-Methode verwenden, um der sekundären y-Achse in Matplotlib eine y-Achsenbeschriftung hinzuzufügen.
Direkte Interaktion mit dem axes
Objekt
Wir können einen Plot mit zwei verschiedenen y-Achsen erstellen, indem wir zwei verschiedene axes
-Objekte mit Hilfe der twinx()
Funktion verwenden. Jetzt können wir das zweite axes
-Objekt verwenden, um die Darstellung der zweiten y-Achse variabel zu machen und ihre Beschriftung zu aktualisieren.
import numpy as np
import matplotlib.pyplot as plt
a = np.linspace(0, 5, 100)
y1 = np.sin(2 * np.pi * a)
y2 = np.cos(2 * np.pi * a)
fig, ax1 = plt.subplots()
ax1.set_xlabel("time (s)")
ax1.set_ylabel("sin", color="red")
ax1.plot(a, y1, color=color)
ax1.tick_params(axis="y", labelcolor=color)
ax2 = ax1.twinx()
ax2.set_ylabel("cos", color="green")
ax2.plot(a, y2, color=color)
ax2.tick_params(axis="y", labelcolor=color)
fig.tight_layout()
plt.show()
Ausgabe:
ax2 = ax1.twinx()
Axes.twinx()
erzeugt eine neue Axis
mit einer y-Achse, die der ursprünglichen Achse entgegengesetzt ist, in diesem Beispiel ax1
.
DataFrame.plot
-Methode zum Hinzufügen einer y-Achsenbeschriftung zur sekundären y-Achse
Wir können der sekundären y-Achse mit pandas
auch eine y-Achsenbeschriftung hinzufügen. Wenn wir die Option secondary_y
in der Methode DataFrame.plot
auf True
setzen, gibt sie verschiedene Achsen zurück, die zum Setzen der Beschriftungen verwendet werden können.
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame(
{
"Age": [22, 12, 18, 25, 30],
"Height": [155, 129, 138, 164, 145],
"Weight": [60, 40, 45, 55, 60],
}
)
ax = df.plot(kind="line", x="Age", y="Height", color="DarkBlue")
ax2 = df.plot(kind="line", x="Age", y="Weight", secondary_y=True, color="Red", ax=ax)
ax.set_ylabel("Height")
ax2.set_ylabel("Weight")
plt.tight_layout()
plt.show()
Ausgabe:
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedInVerwandter Artikel - Matplotlib Axes
- X-Achse drehen Beschriftungstext in der Matplotlib ankreuzen
- Wie man die Schriftgröße von Tick Labels in Matplotlib einstellt
- Wie werden logarithmische Achsen in Matplotlib gezeichnet
- Wie man einen quadratischen Plot mit gleichen Achsen in Matplotlib erstellt
- Wie man Grenzen für Achsen in Matplotlib setzt