共享坐标轴#

你可以通过传递一个 Axes 实例作为 sharexsharey 关键字参数,来与其他坐标轴共享 x 轴或 y 轴的限制。

更改一个 Axes 上的坐标轴限制会自动反映到另一个上,反之亦然,因此当你使用工具栏导航时,Axes 将在其共享坐标轴上相互跟随。坐标轴缩放(例如,对数与线性)的变化也同样如此。然而,刻度标签可能存在差异,例如,你可以选择性地关闭一个 Axes 上的刻度标签。

下面的示例展示了如何自定义不同坐标轴上的刻度标签。共享坐标轴共享刻度定位器、刻度格式器、视图限制和变换(例如,对数、线性)。但刻度标签本身不共享属性。这是一个特性而不是一个bug,因为你可能希望在上方坐标轴上将刻度标签设置得更小,例如在下面的示例中。

如果你想关闭给定 Axes 的刻度标签(例如,在 subplot(211) 或 subplot(212) 上),你不能使用常规方法

setp(ax2, xticklabels=[])

因为这会改变刻度格式器,而刻度格式器是所有 Axes 共享的。但你可以更改标签的可见性,这是一个属性

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()
shared axis demo

标签: 组件:坐标轴 绘图类型:线条 级别:初学者

脚本总运行时间: (0 分钟 1.021 秒)

由 Sphinx-Gallery 生成的画廊