欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

VSCode编辑python代码时使用matplotlib绘图plt.show()阻塞代码运行

程序员文章站 2024-01-19 14:46:28
...

在使用VSCode写python代码绘图时发现,每次运行到plt.show时代码就不向下运行了,如果想要显示多张图片的话就必须关掉这一张才能显示下一张。但好像PyCharm就可以同时显示出来。
在网上看到一些解决方法,比如下文讲了通过plt.ion来将代码从阻塞模式转换为交互模式。
matplotlib 画动态图以及plt.ion()和plt.ioff()的使用
这里面涉及到plt.ion、plt.imshow、plt.ioff等函数的用法,但自己并不是很会。
后来发现其实解决问题非常简单,只要不在每次绘图后都show,而只在代码最后show就可以了,这样就显示了所有图片。

import math
import matplotlib.pyplot as plt
import numpy as np

nbSamples = 256
x = np.linspace(-math.pi,math.pi,num=10)
y = np.sin(x)
z = np.cos(x)

plt.figure(1)
plt.plot(x,y)
# plt.show()  #这一行注释掉就能同时显示两张图,不注释掉就只能关掉一张再显示下一张

plt.figure(2)
plt.plot(x,z)

plt.show()