我试图在 之后(例如axsA)共享matplotlib轴(例如axsA)(不仅是在created之后被共享)。与我的预期相反,即使执行了plt.draw()和plt.show(),执行连接后,轴也不会使用共享的xlims重绘:
import matplotlib.pyplot as plt
# Share two subplot axes AFTER plotting
figA, axsA = plt.subplots(1, 2, sharex=False)
axsA[0].plot(range(0, 10), range(10))
axsA[1].plot(range(3, 13), range(10))
axsA[0].get_shared_x_axes().join(axsA[0], axsA[1])
figA.suptitle('Join after plotting: x-axes limits are not the same in the two axes.')
plt.draw()
plt.show()
只有在绘图之前,我将共享轴加入到Grouper对象中似乎能够实现共享轴:
# Share two subplot axes BEFORE plotting
figB, axsB = plt.subplots(1, 2, sharex=False)
axsB[0].get_shared_x_axes().join(axsB[0], axsB[1])
axsB[0].plot(range(0, 10), range(10))
axsB[1].plot(range(3, 13), range(10))
figB.suptitle('Join after creation, before plotting: x-axes limits are the same oin both axes.')
这是matplotlib.pyplot中的错误还是我的理解?
答案 0 :(得分:1)
llc
只是将ax2附加到ax.get_shared_x_axes().join(ax, ax2)
中。您仍然需要自动缩放轴
Grouper
因为两个轴现在都共享,所以自动缩放其中一个轴就足够了。
在第二个示例中,它按预期方式工作,因为默认情况下,通过ax.autoscale()
添加一条线会自动自动缩放轴。