如果我有
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
在创建 plot
时影响自动缩放。它不会被存储以在进一步调用 autoscale
时生效。
一个选项是为除第一个轴之外的所有轴转动 autoscaling off。
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()
关于python - 当子图共享 x 轴时如何停止 xlim 更新,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49977636/