假设我有以下脚本为我绘制图表:
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
不幸的是,这个数字在脚本结束后关闭了。
如何预防?
更新
如果这个数字不可能在剧本中存活下来,那么它的原因是什么?图和脚本之间的联系是什么?
答案 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