【问题标题】:new plot window plot every time I run my script每次运行脚本时都会绘制新的绘图窗口
【发布时间】:2022-01-24 23:19:01
【问题描述】:

我在 ipython 中运行一个简单的脚本,每次运行时获取绘图和更新图形都没有问题

plt.clf()    
plt.plot(x,y,'bo')
plt.show()

但是,如果我尝试绘制多个面板

fig, axs = plt.subplots(1,3)
axs[0].plot(x,y,'bo')
axs[1].plot(x,z,'bo')
axs[2].plot(y,z,'bo')
plt.show()

每次我运行我的脚本时都会创建一个包含三个面板的新窗口(除非我退出并重新启动 ipython 会话)。我该怎么办?谢谢!

【问题讨论】:

    标签: python matplotlib


    【解决方案1】:

    subplots 默认创建一个新图形,但您也可以指定要绘制到哪个图形中,如果这样做只会打开那个图形/窗口:

    fig, axs = plt.subplots(1,3, num=1) # force to plot into figure 1
    

    【讨论】:

    • 谢谢!由于子图创建了一个新图形,所以也没有理由调用 plt.clf() ,对吧?
    • plt.clf 将清除所有现有数字。只有你知道这是否是你想要做的......
    最近更新 更多