如何在python中使用唯一文件名在目录中保存多个图形?

时间:2017-10-24 14:26:25

标签: python python-2.7 python-3.x matplotlib

我正在尝试在具有唯一文件名的目录中保存多个图形。我使用了plt.savefig(),但它只适用于一个图表,也可以在

下面使用

被修改

path = 'C:/Users/Vishnu/Desktop/Hiral_project_analysis/Output/'
plt.savefig(path + s_no + '_' + pdb_id  + ".png")

我使用上面的代码将输出文件保存在具有唯一名称的目录中...现在我可以保存图形,但所有图形都是空白的(白色屏幕)......

请帮帮我

2 个答案:

答案 0 :(得分:2)

根据pyplot.savefig的文档,第一个参数fname不是您要保存文件的目录的路径,但是

  

包含文件名路径或类似Python文件的对象的字符串,或者可能是某些后端依赖对象(如PdfPages)。

因此,您只需将文件的绝对路径用作第一个参数,例如

path =  "C:/Users/Vishnu/Desktop/Hiral_project_analysis/Outpit/" + protein_name + ".png"
plt.savefig(path)

另外,我在文档中找不到您传递给savefig方法的其他参数,即ext=".png", close=False, verbose=True

答案 1 :(得分:2)

savefig的基本思想已在另一个答案中描述。您需要向path提供savefig 文件名。一个简单的例子:

import numpy as np
import matplotlib.pyplot as plt

def create_and_savefig(fname):
    # create some random data
    x = np.random.randn(10)
    y = np.random.randn(10)

    plt.clf()  # clear the current figure
    plt.plot(x,y)

    path = "C:\Python34\\"
    plt.savefig(path + fname + ".png")

filenames = ["Test1", "Test2", "Test3"]

for fname in filenames:
    create_and_savefig(fname)