如何更改Python中“保存图形”的默认路径?
我有一段Python代码用来创建一个图形。在用plt.show()
显示图形后,我想保存这个图形。
为了避免图形的比例、分辨率等被搞乱,我不想在代码里使用savefig
这个命令。相反,我想用图形窗口里的“保存图形”按钮来保存。
但是默认情况下,它会把我的家目录作为保存位置。我希望保存时能自动选择执行代码的目录。
我该怎么做才能把这个窗口的默认保存路径改成当前文件夹(或者其他地方)呢?
我在开头尝试了这个命令,来自 改变目录到Python脚本所在的目录,但没有帮助,尽管它能正确显示文件名:
os.chdir(os.path.dirname(__file__))
相关文章:
- 暂无相关问题
2 个回答
0
如果你不想写代码,可以创建一个叫做 matplotlibrc
的文件,里面写上以下内容:
savefig.directory:
这样做会把 savefig.directory
的值设置为空,这样它就会默认保存到当前的工作目录。
你可以把这个 matplotlib
文件放在当前的工作目录里,或者放在文档中提到的其他位置。比如在Linux系统上,它应该放在 .config/matplotlib/
这个文件夹里(如果你那里没有 matplotlibrc
文件也不用担心,我的电脑上也没有)。
19
看起来你可以通过修改默认设置文件 matplotlibrc
来实现这个功能,具体的指导可以查看 http://matplotlib.org/users/customizing.html,其中重要的内容在保存图像的参数部分:
# the default savefig params can be different from the display params
...
savefig.directory : ~ # default directory in savefig dialog box,
# leave empty to always use current working directory
似乎 这个功能是在 matplotlib 1.3 版本中引入的。我想你可以通过在脚本的顶部设置,
matplotlib as mpl
mpl.rcParams["savefig.directory"] = os.chdir(os.path.dirname(__file__))
或者通过修改 matplotlibrc
文件来实现。这样对话框就会默认使用当前工作目录,而不是脚本所在的位置(感谢 jjcf89 的帮助)
matplotlib as mpl
mpl.rcParams["savefig.directory"] = ""