Python 子地块共享x轴时如何停止xlim更新

Python 子地块共享x轴时如何停止xlim更新,python,matplotlib,Python,Matplotlib,如果我有 import matplotlib.pyplot as plt plt.plot([0,1], [0,1]) plt.plot([0,2], [0,1], scalex=False) 绘制第二条直线不会更新轴xlim: 但是,如果我使用共享的x轴创建子地块,scalexkwarg似乎没有效果: fig, ax_arr = plt.subplots(2, 1, sharex=True) for ax in ax_arr.flat: ax.plot([0,1], [0,1])

如果我有

import matplotlib.pyplot as plt

plt.plot([0,1], [0,1])
plt.plot([0,2], [0,1], scalex=False)
绘制第二条直线不会更新轴xlim:

但是,如果我使用共享的x轴创建子地块,
scalex
kwarg似乎没有效果:

fig, ax_arr = plt.subplots(2, 1, sharex=True)
for ax in ax_arr.flat:
    ax.plot([0,1], [0,1])
    ax.plot([0,2], [0,1], scalex=False)


在本例中,是否有其他kwarg或设置可用于停止影响轴xlim的打印线?

scalex
会在创建
打印时影响自动缩放。它不会被存储以在进一步调用
autoscale
时生效

一个选项是对除第一个轴以外的所有轴进行常规转动

import matplotlib.pyplot as plt

fig, ax_arr = plt.subplots(2, 1, sharex=True)

ax_arr[1].set_autoscalex_on(False)

for ax in ax_arr.flat:
    ax.plot([0,1], [0,1])
    ax.plot([0,2], [0,1], scalex=False)

plt.show()

我接受了ImportanceOfBeingErnest的答案,因为它确实解决了我上面的具体最小示例。由于我的“真实”示例涉及子地块,其中每个轴上的第一个地块将不相同,因此我将进一步给出答案,以防其他人使用:

fig, ax_arr = plt.subplots(2, 1, sharex=True)

ax_arr.flat[0].plot([0,1], [0,1])
ax_arr.flat[1].plot([-1,0], [0,1])

for ax in ax_arr.flat:
    ax.set_autoscalex_on(False)
    ax.plot([0,2], [0,1])