Python在plt.show()后关闭窗口,继续运行命令的方法

Python在plt.show()后关闭窗口,继续运行命令的方法

  • 如果有SciView,看图其实很方便(专业版的图都是从别的博客盗的图,图上有原博客水印!)
    Python在plt.show()后关闭窗口,继续运行命令的方法_第1张图片
  • 由于博主使用的是社区版pycharm,即免费版的pycharm,博主并没有找到SciView。
    Python在plt.show()后关闭窗口,继续运行命令的方法_第2张图片
  • 社区版和专业版Setting对比
专业版

Python在plt.show()后关闭窗口,继续运行命令的方法_第3张图片

社区版

Python在plt.show()后关闭窗口,继续运行命令的方法_第4张图片

  • 这就造成了plt.show()的时候,如果弹出来的图片你不亲手关闭窗口,程序就不继续运行了!博主在网上浏览了一堆博客,最后总结出来以下三点:
    1.用plt.draw()绘图,plt.show()绘图后,plt.close()不会关闭图片窗口的;
    2.用plt.pause(秒数)设置图片显示的时长,如果用time.sleep(秒数),你显示的图片会一直是黑的;
    3.fig1 = plt.figure(1),fig2 = plt.figure(2)与plt.close(fig1),plt.close(fig2)搭配使用,可以知道fig1和fig2为啥不能写到plt.draw()里面

最后附上一个简单的能用的代码:

import matplotlib.pyplot as plt
import numpy as np

axis_x = np.array([-8, -7, -6, -5, -4, -3, -2, -1])
axis_y = np.array([0, 1, 2, 3, 4, 5, 6, 7])
fig1 = plt.figure(1)
plt.ylabel('Loss')
plt.xlabel('Epoch')
plt.plot(axis_x, axis_y)
plt.draw()
plt.pause(4)# 间隔的秒数: 4s
plt.close(fig1)
fig2 = plt.figure(2)
plt.ylabel('Loss')
plt.xlabel('Epoch')
plt.plot(axis_y, axis_x)
plt.draw()
plt.pause(6)# 间隔的秒数:6s
plt.close(fig1)

最后一句就是关fig1,你没看错,根本没有任何问题!

你可能感兴趣的:(Python,plt.show())