python-3.x - 如何关闭在 python 中使用 matplotlib 显示的图形?图像,图形和图片之间有什么区别?
问题描述
我正在使用 ubuntu。我想在几秒钟后关闭使用 matplotlib 显示的图形,而不使用键盘或鼠标。几秒钟后,我可以通过获取其进程 ID 来关闭使用 PIL 显示的图像,然后将其杀死。
而且我对matplotlib中的数字、图像和图片术语也有点困惑。
非常感谢你。
关于第 1 部分。我使用 plt.close()、plt.close("all") 以及 'psutil' 库来获取进程 ID 并终止。但他们都没有工作。我只有关闭通过“PIL”打开的图像的解决方案。
链接 :- 如何关闭使用 Python 图像库向用户显示的图像?
关于第 2 部分。实际上,在某些页面上,我发现术语“图形”、“图片”和“图像”可以互换使用;在某些页面上,它们不是。我看到'plt.imshow()'用于图像和图片,'plt.show()'用于图形。但是,图形,图像和图片之间有什么区别。以及何时使用这些功能?
# for graphing
import matplotlib.pyplot as plt
import time
# for process
import psutil
# importing for image processing
from PIL import Image
#### closing an image which was opened via PIL
#### working perfectly
filename = "check.jpg"
img = Image.open(filename)
img.show()
time.sleep(5)
# for killing process such that image viewer
for proc in psutil.process_iter():
if proc.name() == "display":
proc.kill()
#### closing an image/figure which was opened via matplotlib
#### unable to close without keyboard or mouse
x = [[1,2,3,4],[11,22,33,44],[9,8,7,6]]
print (x)
plt.imshow(x)
plt.colorbar()
plt.title("a")
plt.xlabel('b')
plt.ylabel('c')
a = plt.show()
time.sleep(2)
## not working
plt.close()
## not working
for proc in psutil.process_iter():
if proc.name() == "display":
proc.kill()
## not working
plt.close("all")
我希望我显示的图形会在几秒钟后自动关闭,而不是任何手动干预。
解决方案
推荐阅读
- http - 为什么我们在 websocket 握手响应中使用 \n\r ?
- android - Firebase 在应用消息传递实现中与 gradling 相关的编译错误
- excel - 网页抓取到 Excel 文件中
- laravel - Laravel 在 intersect 方法之上分页
- java - 预定注解和自定义 StringResolver
- java - JSVC re-exec 需要使用绝对或相对路径执行
- android - 播放单轨Spotify SDK
- php - 我无法获取与 DOMXpath 一起排列的 url 的 html 内容
- c - python和c for循环的区别
- java - 输入一个数字,从Java中的给定样本中输出固定数字