Python matplotlib.pyplot:打印后共享轴的x轴不会将它们置于相同的x轴限制上

Python matplotlib.pyplot:打印后共享轴的x轴不会将它们置于相同的x轴限制上,python,matplotlib,Python,Matplotlib,我尝试在示例axsA之后共享matplotlib轴,而不仅仅是在它们被绘制之后。与我的预期相反,在执行联接之后,即使我执行plt.draw和plt.show,也不会使用共享XLIM重新绘制轴: 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(1

我尝试在示例axsA之后共享matplotlib轴,而不仅仅是在它们被绘制之后。与我的预期相反,在执行联接之后,即使我执行plt.draw和plt.show,也不会使用共享XLIM重新绘制轴:

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中的一个bug还是我的理解?

ax.get\u shared\u x\u axes.joinax,ax2只是将ax2附加到Grouper中。您仍然需要自动缩放轴

ax.autoscale()
因为现在两个轴都是共享的,所以自动缩放其中一个轴就足够了


在第二个示例中,它按预期工作,因为通过ax.plot添加一条线会在默认情况下自动缩放轴。

标记为重复,因为链接的答案已经告诉您可能需要自动缩放。啊,谢谢。在另一个答案中,我忽略了you may want ax.autoscale注释,不知道它的用途。