Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将matplotlib中的图形保存到特定文件夹中(spyder)_Python_Matplotlib_Spyder - Fatal编程技术网

Python 如何将matplotlib中的图形保存到特定文件夹中(spyder)

Python 如何将matplotlib中的图形保存到特定文件夹中(spyder),python,matplotlib,spyder,Python,Matplotlib,Spyder,我得到了一个包含多个列的datetime索引数据框,我想为一个特定列的每周绘制一个图,但我想将这些图保存在将要创建的特定文件夹中。 文件夹名称将是列名,图形名称将是“columnname\u week” 现在,我可以使用此功能保存我的无花果,并将其命名为: def graph(a): for i in range (2,53): plt.figure(figsize=[20,20]) a19=df19[[a]][(df19["week"

我得到了一个包含多个列的datetime索引数据框,我想为一个特定列的每周绘制一个图,但我想将这些图保存在将要创建的特定文件夹中。 文件夹名称将是列名,图形名称将是“columnname\u week”

现在,我可以使用此功能保存我的无花果,并将其命名为:

def graph(a):
    for i in range (2,53):
        plt.figure(figsize=[20,20])
        a19=df19[[a]][(df19["week"]==i)]
        plt.plot(a19)
        name=str(a)+"_"+str(i)
        plt.savefig(name)
        
    return

graph('column_name')
但是我找不到一种方法,可以通过列的名称将它们保存在特定的文件夹中。
另外,我正在使用spyder,我的所有绘图似乎都保存在C:\Users\Me中,而不是保存程序的工作文件中,我不知道如何更改它。

如果我正确理解了您的问题,那么它保存到“C:\Users\Me”的原因是什么因为name变量是一个相对路径,所以python将把它保存到当前工作目录(cwd)

您可以参考创建目录和创建绝对路径

比如说,

desired_folder = 'D:/some/desired/folder'
os.makedirs(desired_folder)
name=str(a)+"_"+str(i)
full_path = os.path.join(desired_folder, name)
plt.savefig(name)

哦,谢谢,这看起来是个好办法。我能在路径上输入变量名吗?例如,如果我想改进我的程序,同时绘制所有列并将它们保存在列命名文件夹中,你是想在文件路径中添加更多层次结构吗?您可以多次执行makedirs和os.path.join以生成更长的路径。