pycharm使用plt.show()图片闪退

在最后一行加上turtle.done()
PyCharm中进行动态绘图的方法有几种。你可以使用matplotlib库来实现动态绘图。下面是其中的几种方法: 方法一:使用plt.pause()和plt.cla() 这种方法适用于绘制一系列图形,并在每次更新后暂停一段时间。首先,你需要在代码中导入matplotlib.pyplot库(import matplotlib.pyplot as plt)。然后,在每次绘图之后使用plt.pause()函数指定暂停的时间,以便观察图形的变化。最后,使用plt.cla()函数清除当前图形,以便绘制下一个图形。具体的实现代码如下: ``` import numpy as np import matplotlib.pyplot as plt fig = plt.figure() ax = fig.add_subplot(111) for i in range(10): ax.plot(np.random.randn(10, 10)) plt.pause(0.2) ax.cla() ``` 这段代码使用了一个循环来生成10个随机数据,并在每次循环中绘制图形。每次绘图后,使用plt.pause(0.2)暂停0.2秒,然后使用ax.cla()清除当前图形。 方法二:使用plt.ion()和plt.show() 这种方法适用于实时更新图表,不需要暂停时间。首先,你需要在代码中导入matplotlib.pyplot库(import matplotlib.pyplot as plt),然后使用plt.ion()函数开启一个画图的窗口,用于实时更新图表。接下来,使用plt.show()函数显示图像,防止闪退。具体的实现代码如下: ``` import numpy as np import matplotlib.pyplot as plt from scipy.special import jn from IPython.display import display, clear_output import time x = np.linspace(0, 5) f, ax = plt.subplots() ax.set_title("Bessel functions") plt.ion() # 开启一个画图的窗口,用于实时更新图表 for n in range(1, 10): time.sleep(1) ax.plot(x, jn(x, n)) clear_output(wait=True) display(f) plt.pause(0.5) # 设置暂停时间,太快的话图表无法正常显示 plt.show() # 显示图片,防止闪退 plt.close() # 关闭画图的窗口 ``` 这段代码使用了一个循环来生成不同的Bessel函数图像,并在每次循环中实时更新图表。在每次循环中,使用time.sleep(1)函数暂停1秒,然后使用ax.plot()函数绘制图像使用clear_output(wait=True)函数清除前一次绘图结果,然后使用display(f)函数显示当前图像。最后使用plt.show()函数显示最终的图像,并使用plt.close()函数关闭画图的窗口。 以上就是在PyCharm中进行动态绘图的两种方法。你可以根据需要选择适合你的场景的方法来实现动态绘图。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值