为什么Jupyter笔记本在更新绘图时会创建重复的绘图

2024-03-28 21:28:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着在一个Jupyter笔记本上制作每秒钟更新一次的情节。现在,我有一个简单的代码可以工作:

%matplotlib inline
import time
import pylab as plt
import numpy as np
from IPython import display

for i in range(10):
    plt.close()
    a = np.random.randint(100,size=100)
    b = np.random.randint(100,size=100)

    fig, ax = plt.subplots(2,1)
    ax[0].plot(a)
    ax[0].set_title('A')
    ax[1].plot(b)
    ax[1].set_title('B')

    display.clear_output(wait=True)
    display.display(plt.gcf())
    time.sleep(1.0)

它更新了我每秒钟所创造的情节。然而,在最后,还有一个额外的副本:

enter image description here

它为什么要这样做?我怎么才能不发生这种事呢?提前谢谢你。在


Tags: importsizetimeplottitleasdisplaynp
1条回答
网友
1楼 · 发布于 2024-03-28 21:28:06

设置inline后端,以便在每个单元完成执行时,将显示单元中创建的任何matplotlib绘图。在

使用display函数显示图形一次,然后内联后端将再次自动显示该图形。在

防止这种情况的最简单方法是在单元格中的代码末尾添加plt.close()。在

相关问题 更多 >