Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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中使用循环中的不同名称保存多个绘图?_Python_Loops_Matplotlib_Save - Fatal编程技术网

如何在python中使用循环中的不同名称保存多个绘图?

如何在python中使用循环中的不同名称保存多个绘图?,python,loops,matplotlib,save,Python,Loops,Matplotlib,Save,我是python新手。我正在做一个循环,为属于一个列表的许多国家绘制相同的数字。当我试图以我指定的路径保存绘图时,保存的绘图只是最后一个。我如何保存来自每个交互和根据plt.title更改的具有不同名称的每个绘图?数字显示在单元格中,但我无法保存它们 for c in countries_list: ax = emissions.loc[c].T.plot(kind='area', rot= 0, stacked=True) plt.title('Emissi

我是python新手。我正在做一个循环,为属于一个列表的许多国家绘制相同的数字。当我试图以我指定的路径保存绘图时,保存的绘图只是最后一个。我如何保存来自每个交互和根据plt.title更改的具有不同名称的每个绘图?数字显示在单元格中,但我无法保存它们

for c in countries_list:     
    ax = emissions.loc[c].T.plot(kind='area', rot= 0, stacked=True)     
    plt.title('Emissions of' + ' ' + c, fontsize='14', fontname="sans")     
    plt.savefig('../plots/test.pdf', bbox_inches='tight')

您需要为每个绘图指定一个唯一的名称。否则,每个绘图都会覆盖最后一个,这就是为什么您只能得到最后一个

尝试:

您可以这样尝试:

for index, c in enumerate(countries_list):     
    ax = emissions.loc[c].T.plot(kind='area', rot= 0, stacked=True)     
    plt.title('Emissions of' + ' ' + c, fontsize='14', fontname="sans")     
    plt.savefig('../plots/test-{0}.pdf'.format(index), bbox_inches='tight')

因此,每次保存打印的pdf文件的名称都会不同。

请注意,您在循环中一直使用相同的文件名,因此您会一直覆盖文件内容sange
plt.savefig('../plots/test.pdf',bbox_inches='tight')
plt.savefig('../plots/test{}.pdf'.format(c),bbox_inches='tight'))
More@roganjosh将它们改为单引号。双引号也会有效,但您使用了一些无法识别的奇特引号字符:)感谢您指出这些细节。我肯定看过头了。我最初的帖子是从我的iPhone上发的,他们的引文看起来很花哨。但我通常喜欢单引号,并在笔记本电脑上编辑。啊哈,我发现答案中有一个主题。iphone双引号在SOTo上转换为一些无效字符(对于Python),要修复它,您所要做的就是关闭“智能标点符号”!谢谢你们。它起作用了!
for index, c in enumerate(countries_list):     
    ax = emissions.loc[c].T.plot(kind='area', rot= 0, stacked=True)     
    plt.title('Emissions of' + ' ' + c, fontsize='14', fontname="sans")     
    plt.savefig('../plots/test-{0}.pdf'.format(index), bbox_inches='tight')