作者alen84204 (Dana)
看板Python
标题[问题] matplotlib.pyplot关不起来
时间Thu Mar 21 13:22:26 2019
from PIL import Image
import matplotlib.pyplot as plt
im = Image.open("./1.jpg")
plt.figure("1")
plt.imshow(im) #绘制图片
plt.show() #显示图片
plt.close() #关闭图片
程式码如上
路径没有问题 图片可以正常显示 但没办法关闭图片
只能自己手动关闭 才会继续跑下一行
环境是用anaconda安装的 使用vscode执行
有看过plt.close可以执行的参数 都试过了
想请教问题出在哪里
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.32.56.155
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1553145749.A.CA9.html
plt.show() is a blocking function, so in the example code you used above,
plt.close() isn't being executed until the window is closed, which makes it
redundant.
You can use plt.ion() at the beginning of your code to make it non-blocking,
although this has other implications.
有查到预设是blocking function 所以并不会继续执行直到被手动关闭
若是加入指令plt.ion变成交互模式 反而不会显示图片
所以目前就会呈现一个状态
可以自动关闭图片 但不会显示图片
或是得手动关闭图片 自动显示下一张 但是图片出的来
※ 编辑: alen84204 (114.32.56.155), 03/21/2019 13:38:22
1F:推 jiyu520: plt.show(block=False) 03/21 15:43
2F:→ jiyu520: time.sleep(5) 03/21 15:43
3F:→ jiyu520: plt.close('all') 03/21 15:43
https://imgur.com/SP1zlpr.jpg
有试过关闭非交互模式
问题是只要在交互模式下 plt.show(block=False) 就会呈现没有回应的状态
问题依旧无法解决 感谢您的回覆
※ 编辑: alen84204 (114.32.56.155), 03/22/2019 10:10:55
5F:推 brt: 交互模式是指 python console吗? 03/23 08:42
6F:→ MOONY135: 你的问题是完全没写过程式 这跟数学习题不一样 03/23 11:06
7F:→ MOONY135: 没有所谓的标准答题方式 你这样是学不会的 03/23 11:07
8F:→ MOONY135: 推错篇 抱歉 03/23 11:07
9F:→ alen84204: QwQ 可恶 还以为被说中没写过程式 我只有写过fortran 03/23 14:33
10F:→ celen99: 用plt.pause(1) +plt.close('all') 然後不要plt.show 04/04 13:18