在 Python 中执行 show() 命令后,我只能将图像保存为 figure_1.png ,不能更改文件名。在“另存为”旁边不允许输入任何内容。如何在此时启用输入文件名的功能?抱歉,我需要至少 10 点声望才能发布截图。
我的电脑也出现了同样的问题,我发现解决这个问题的方法是解决matplotlib后端中的一个潜在问题(默认后端“macosx”会导致此问题)。解决方法是更改matplotlibrc文件中的后端行,可以通过运行以下命令找到该文件:
import matplotlib
matplotlib.matplotlib_fname()
backend : macosx
转换为(例如):
backend : TkAgg
我找到了一个解决方案:
使用 conda install python.app
命令安装 pythonw
。
然后在终端中使用 pythonw
代替 python
。
例如:
pythonw my_plot.py
试试这个。我不知道你是否在使用pyplot,但它非常常见。 确保你的代码中没有任何地方显示()图形--这会阻止savefig()函数的工作。这对我有用,并将myfigure.png保存在我运行代码的目录中。
import matplotlib.pyplot as plt
# make a figure with 1 row and 1 column
fig, myplot = plt.subplots( nrows=1, ncols =1)
# simple plot
t = arange(0.0,2.0,0.01)
s = sin(2*pi*t)
myplot = plot(t,s)
# save figure with specified filename
plt.savefig('myfigure.png')
# close figure
plt.close(fig)
对于一些人来说,这个讨论可能会解决问题:https://matplotlib.org/faq/osx_framework.html
在没有 Python 框架的情况下,在 OS X 上 matplotlib 无法正常工作。Anaconda 不提供框架构建,因此出现了问题...尽管我不记得最近才出现这个问题!
尽管使用 Python 3,但我实际上无法使链接中建议的虚拟环境修复方法对我起作用。