Hinweis
Gehen Sie zum Ende, um den vollständigen Beispielcode herunterzuladen.
Gemeinsame Achse#
Sie können die Grenzen der x- oder y-Achse für eine Achse mit einer anderen gemeinsam nutzen, indem Sie eine Axes-Instanz als Schlüsselwortargument sharex oder sharey übergeben.
Änderungen der Achsenbegrenzungen auf einem Axes werden automatisch in den anderen übernommen und umgekehrt. Wenn Sie also mit der Symbolleiste navigieren, folgen sich die Axes auf ihrer gemeinsamen Achse. Dasselbe gilt für Änderungen der Achsenskalierung (z. B. Logarithmus vs. linear). Es ist jedoch möglich, Unterschiede in der Beschriftung der Ticks zu haben. Sie können beispielsweise die Tickbeschriftungen auf einem Axes selektiv deaktivieren.
Das folgende Beispiel zeigt, wie die Tickbeschriftungen auf den verschiedenen Achsen angepasst werden. Gemeinsame Achsen teilen sich den Tick Locator, Tick Formatter, View Limits und die Transformation (z. B. Log, Linear). Aber die Tick Labels selbst teilen keine Eigenschaften. Das ist ein Merkmal und kein Fehler, da Sie die Tick Labels auf den oberen Achsen kleiner machen möchten, z. B. im folgenden Beispiel.
Wenn Sie die Tick Labels für einen bestimmten Axes deaktivieren möchten (z. B. auf subplot(211) oder subplot(212)), können Sie nicht den Standardtrick anwenden
setp(ax2, xticklabels=[])
da dies den Tick Formatter ändert, der zwischen allen Axes geteilt wird. Aber Sie können die Sichtbarkeit der Labels ändern, was eine Eigenschaft ist
setp(ax2.get_xticklabels(), visible=False)
import matplotlib.pyplot as plt
import numpy as np
t = np.arange(0.01, 5.0, 0.01)
s1 = np.sin(2 * np.pi * t)
s2 = np.exp(-t)
s3 = np.sin(4 * np.pi * t)
ax1 = plt.subplot(311)
plt.plot(t, s1)
plt.tick_params('x', labelsize=6)
# share x only
ax2 = plt.subplot(312, sharex=ax1)
plt.plot(t, s2)
# make these tick labels invisible
plt.tick_params('x', labelbottom=False)
# share x and y
ax3 = plt.subplot(313, sharex=ax1, sharey=ax1)
plt.plot(t, s3)
plt.xlim(0.01, 5.0)
plt.show()

Tags: Komponente: Achse Plot-Typ: Linie Level: Anfänger
Gesamtlaufzeit des Skripts: (0 Minuten 1,021 Sekunden)