gpt4 book ai didi

python - 在迭代图的 for 循环上使用 plt.savefig 返回空白图像

转载 作者:行者123 更新时间:2023-12-05 07:07:43 33 4
gpt4 key购买 nike

好的,如果之前有人问过这个问题,我深表歉意,但我在尝试对某些要保存到计算机上某个目录的地 block 执行 plt.savefig 时遇到了一些问题。

我目前有 481 个图是通过以下代码生成的:

ID=np.array(table['ID'])

我的 ID 数组来自 astropy 表中的一个独立列,我将其制作成一个数组以匹配我的其他变量的格式。

path=str('/Volumes/Desktop/Folder')
filename=str('/Filename_ID_')
outfilename=path+filename
outfilename
yra = [0, 3]


def PLOTS(M,P,Match,Mean,P25,P50,P75):
ax=plt.subplot();
return (plt.figure(),
ax.plot(M,P,'b',lw=2),
ax.plot((Match*np.ones(2)), yra, 'red',lw=3, label='match'),
ax.plot((P25*np.ones(2)), yra, 'b--', label='P25'),
ax.plot(P50*np.ones(2), yra, 'c--', label='P50',linewidth=4),
ax.plot(P75*np.ones(2), yra, 'r--', label='P75'),
ax.plot(Mean*np.ones(2), yra, 'darkgoldenrod',label='mean'),
ax.set_xlabel('M',fontsize=14),
ax.set_ylabel('P',fontsize=14),
ax.legend(fontsize=10,loc='upper right'),
plt.savefig(outfilename+str(ID)+'.pdf')));

for i in range(len(M)):
print(PLOTS(M, P[i],Matches[i],Mean[i],P25[i],P50[i],P75[i]))
plt.savefig(outfilename+str(ID[i])+'.pdf')

这会输出我的图,但是当我去检查桌面上的文件夹时,图像是空白的。我知道如果你在 plt.savefig() 之前执行 plt.show() 那么这就是你得到空白图像的原因,但我根本没有执行 plt.show() 。我试图在我的函数和 for 循环的 plt.savefig 命令之后添加 plt.show() 命令,但我仍然想出一个空白图像。

我还查看了其他与我类似的帖子,例如 How do I save a new graph as png with every iteration of a loop但这仍然对我的问题没有帮助。

非常感谢你们提供的任何帮助,如果有人提出这个问题,我再次表示歉意。

最佳答案

您应该尝试在 plt.savefig(out filename+str(ID[i])+'.pdf') 之后添加 plt.close()

关于python - 在迭代图的 for 循环上使用 plt.savefig 返回空白图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62037161/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com