小编典典

matplotlib.pyplot不会忘记以前的绘图-如何刷新/刷新?

python

您如何matplotlib.pyplot“忘记”以前的地块

我正在尝试使用绘制多个时间 matplotlib.pyplot

代码如下:

def plottest():
    import numpy as np
    import matplotlib.pyplot as plt


    a=np.random.rand(10,)
    b=np.random.rand(10,)
    c=np.random.rand(10,)


    plt.plot(a,label='a')
    plt.plot(b,label='b')
    plt.plot(c,label='c')
    plt.legend(loc='upper left')
    plt.ylabel('mag')
    plt.xlabel('element)')
    plt.show()

    e=np.random.rand(10,)
    f=np.random.rand(10,)
    g=np.random.rand(10,)


    plt.plot(e,label='e')
    plt.plot(f,label='f')
    plt.plot(g,label='g')
    plt.legend(loc='upper left')
    plt.ylabel('mag')
    plt.xlabel('element)')
    plt.show()

不幸的是,无论我做什么,我都会得到相同的情节(实际上是从我之前运行并完成的其他代码中得到的)。

有任何想法吗?


阅读 435

收藏
2020-12-20

共1个答案

小编典典

我宁愿plt.clf()每次都使用它plt.show()清除当前图形,
而不是关闭并重新打开它,以保持窗口大小并为您提供更好的性能和更好的内存使用率。

同样,您可以plt.cla() 清除当前

要清除特定的轴(例如,在一个图形中有多个轴时很有用),您可以执行以下操作:

fig, axes = plt.subplots(nrows=2, ncols=2)

axes[0, 1].clear()
2020-12-20