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])