脚本结束后如何打开matplotlib图?

时间:2016-02-18 20:48:33

标签: python matplotlib

假设我有以下脚本为我绘制图表:

import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np

img = mpimg.imread('stinkbug.png')
#circle = plt.Circle((0, 0), radius=0.5, fc='y')
circle = plt.Circle((0, 0), radius=100, fill=False, color='b')

fig, ax = plt.subplots()
ax.imshow(img)
ax.add_artist(circle)
fig.show()
pass

不幸的是,这个数字在脚本结束后关闭了。

如何预防?

更新

如果这个数字不可能在剧本中存活下来,那么它的原因是什么?图和脚本之间的联系是什么?

3 个答案:

答案 0 :(得分:2)

你不能。脚本结束后,脚本创建的图形无法生存。但也许你不需要它,你可以让你的脚本等你关闭图形窗口。只需确保未激活交互模式。

import matplotlib.pyplot as plt
plt.ioff()  # Use non-interactive mode.
plt.plot([0, 1])  # You won't see the figure yet.
plt.show()  # Show the figure. Won't return until the figure is closed.

答案 1 :(得分:1)

你可以保存数字:

plt.savefig('my_fig.pdf')

答案 2 :(得分:0)

一种方法是在运行脚本后保持python打开。 为此,请在命令行中包含-i选项。因此,如果您的Python脚本是myscript.py,请在命令行执行以下命令:

python -i myscript.py

来源:https://www.johnny-lin.com/cdat_tips/tips_pylang/keep_open.html