共有軸番号

Axesインスタンスをsharexまたはshareyキーワード引数として渡すことにより、ある軸の x または y 軸の制限を別の軸と共有できます。

1 つの軸の軸制限を変更すると、他の軸にも自動的に反映されます。その逆も同様です。そのため、ツールバーを使用してナビゲートすると、軸は共有軸上で相互に追従します。軸のスケーリングの変更についても同様です (たとえば、対数対線形)。ただし、目盛りのラベル付けに違いが生じる可能性があります。たとえば、1 つの Axes の目盛りラベルを選択的にオフにすることができます。

以下の例は、さまざまな軸の目盛りラベルをカスタマイズする方法を示しています。共有軸は、目盛りロケーター、目盛りフォーマッター、ビュー制限、および変換 (対数、線形など) を共有します。ただし、目盛りラベル自体はプロパティを共有しません。これは機能であり、バグではありません。たとえば、以下の例のように、上の軸の目盛りラベルを小さくしたい場合があるためです。

特定の Axes (たとえば、subplot(211) または subplot(212)) の ticklabels をオフにしたい場合、標準的なトリックを行うことはできません。

setp(ax2, xticklabels=[])

これは、すべての Axes 間で共有される tick Formatter を変更するためです。ただし、プロパティであるラベルの可視性を変更できます。

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()

Sphinx-Gallery によって生成されたギャラリー