Gemeinsam genutzte Achse #

Sie können die x- oder y-Achsengrenzen für eine Achse mit einer anderen teilen, indem Sie eine AxesInstanz als Schlüsselwortargument sharex oder sharey übergeben .

Das Ändern der Achsengrenzen auf einer Achse wird automatisch auf der anderen widergespiegelt und umgekehrt, wenn Sie also mit der Symbolleiste navigieren, folgen die Achsen einander auf ihrer gemeinsamen Achse. Dasselbe gilt für Änderungen in der Achsenskalierung (z. B. log vs. linear). Es ist jedoch möglich, Unterschiede in der Tick-Beschriftung zu haben, zB können Sie die Tick-Beschriftung auf einer Achse selektiv ausschalten.

Das folgende Beispiel zeigt, wie die Hilfsstrichbeschriftungen auf den verschiedenen Achsen angepasst werden. Gemeinsam genutzte Achsen teilen sich den Tick-Lokator, den Tick-Formatierer, die Anzeigegrenzen und die Transformation (z. B. log, linear). Aber die Ticklabels selbst teilen keine Eigenschaften. Dies ist ein Feature und kein Fehler, da Sie vielleicht die Tick-Beschriftungen auf den oberen Achsen kleiner machen möchten, z. B. im Beispiel unten.

Wenn Sie die Ticklabels für eine bestimmte Achse ausschalten möchten (z. B. auf subplot(211) oder subplot(212), können Sie den Standardtrick nicht ausführen:

setp(ax2, xticklabels=[])

weil dies den Tick-Formatter ändert, der von allen Axes geteilt wird. Aber Sie können die Sichtbarkeit der Beschriftungen ändern, was eine Eigenschaft ist:

setp(ax2.get_xticklabels(), visible=False)
Shared-Axis-Demo
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()

Galerie generiert von Sphinx-Gallery