即使在matplotlib中的plt.cla()之后,如何永久强制不变xlim

时间:2019-01-15 13:45:37

标签: python matplotlib jupyter-notebook

即使在plt.cla()和Jupyter Notebook在matplotlib中使用{lim}后,我也希望永久强制xlim。

data=[[0,1],[0,1]]
plt.ylim(0,4)
plt.plot(*data)
plt.cla()

data=[[0,2],[0,2]]
plt.plot(*data) # <- rescaled automatically...

如何解决?

1 个答案:

答案 0 :(得分:1)

plt.cla()清除轴和其中存储的所有有关极限的信息。 您拥有的选项:

  • 存储以前的值并将它们重置为新轴。

    import matplotlib.pyplot as plt
    
    data=[[0,1],[0,1]]
    plt.ylim(0,4)
    plt.plot(*data)
    xlims = plt.xlim()
    plt.cla()
    
    data=[[0,2],[0,2]]
    plt.plot(*data)
    plt.xlim(xlims)
    
    plt.show()
    
  • 不清除轴。相反,也许只是从轴上删除内容。

    import matplotlib.pyplot as plt
    
    data=[[0,1],[0,1]]
    plt.ylim(0,4)
    plt.plot(*data)
    
    for line in plt.gca().lines:
        line.remove()
    
    data=[[0,2],[0,2]]
    plt.plot(*data)
    
    plt.show()