如何使用matplotlib将每个图形保存在循环中

时间:2019-05-25 06:29:05

标签: python matplotlib

我正在尝试将每个图形保存在一个for循环中的文件夹中。但是,对于循环的4-5次运行,仅保存最后一个数字。为什么会这样呢? 我需要进行哪些修改?

for t in (0,l[k-1]):
        plt.figure()
        t=resized_right[0:resized_right.shape[0]-1, g+2:g+s+1]
        plt.imshow(resized_right[0:resized_right.shape[0]-1, g+2:g+s+1])
        plt.savefig(dir)
        g+=s-2
        p+=1
        plt.show()

其中dir是要存储图像的目录。

3 个答案:

答案 0 :(得分:1)

您必须在savefig中提供文件名,并在文件名中可以​​附加t,这样每个循环可以保存1张图像。否则它将被下一个覆盖,您只会得到最后一张图像

答案 1 :(得分:1)

尝试用plt.savefig(dir)更改plt.savefig(dir + str(t))。 这样,您可以将t个不同的文件保存在同一目录dir中。

还要注意目录路径中的斜杠“ /”。通过打印dir进行检查。

答案 2 :(得分:0)

似乎您保存了一个名为dir的图形,并随时将其覆盖。

尝试在 print ("dir" + str(t) + ".png") 中添加变量。例如:

didFinishLaunchingWithOptions