备注
前往结尾 以下载完整示例代码。
共享轴#
你可以通过传递一个 Axes 实例作为 sharex 或 sharey 关键字参数,来共享一个轴的 x 或 y 轴限制给另一个轴。
更改一个 Axes 的轴限制会自动反映在另一个 Axes 上,反之亦然,因此当您使用工具栏导航时,Axes 将跟随其共享轴。轴缩放的更改(例如,对数与线性)也是如此。但是,可能会有刻度标签的差异,例如,您可以选择性地关闭一个 Axes 上的刻度标签。
下面的示例展示了如何自定义各个轴上的刻度标签。共享轴共享刻度定位器、刻度格式化器、视图限制和变换(例如,对数、线性)。但刻度标签本身不共享属性。这是一个功能而非错误,因为您可能希望在上面的轴上使刻度标签更小,例如,在下面的示例中。
如果你想关闭某个Axes的刻度标签(例如,在subplot(211)或subplot(212)上),你不能使用标准的技巧:
setp(ax2, xticklabels=[])
因为这改变了刻度格式化器,而刻度格式化器在所有轴之间是共享的。但是你可以改变标签的可见性,这是一个属性:
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()