使用pylab或matplotlib指定savefig的路径

16

我正在苦恼如何在调用matplotlib或pylab的savefig函数时找到正确的保存路径(或存储库)。

我尝试了几种语法,但每次Python控制台都会返回以下错误:

FileNotFoundError: [Errno 2] No such file or directory: '../MyDocs/resource/frames/MyImage.png'

目前,我已经编写了以下内容:

pylab.savefig('../MyDocs/resource/frames/MyImage.png')

有人知道怎么做吗?


无论是使用pylab.savefig('~/MyDocs/resource/frames/MyImage.png')还是pylab.savefig('~MyDocs/resource/frames/MyImage.png')都不起作用... - JejeBelfort
2个回答

11

波浪号操作符和变量$HOME是作为字符串输入的,因此在保存时不起作用。你需要提供相对路径(就像你所做的那样)或提供完整路径。例如:pylab.savefig("/home/username/Desktop/myfig.png")


1
其实,越简单越好...我应该先尝试一下。谢谢!(我使用了完整路径解决方案) - JejeBelfort
如果我有多个图表需要编写,并且我需要根据我提取数据的CSV文件的名称来命名它们,该怎么办? - Polly
@Polly,那么你应该使用字符串理解:读取csv文件的名称,然后使用类似于foo = path + "csv_filename"的方法,然后使用pylab.savefig(foo)保存你的图像。在这种情况下,path"home/username/"。希望能有所帮助。 - T-800

6

对于matplotlib.pyplot,错误FileNotFoundError: [Errno 2] No such file or directory可能是由包含文件夹../MyDocs/resource/frames/不存在所致。因此,您可以先创建该文件夹。

import os
os.makedirs('../MyDocs/resource/frames/')

然后重新运行savefig函数。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接