好的,所以我很抱歉以前是否有人问过这个问题,但是在我想保存到计算机上某个目录的某些地块上尝试执行plt.savefig时遇到了一些问题。
我目前通过以下代码生成了481个图:
ID=np.array(table['ID'])
我的ID数组来自一个天文表的隔离列,我将该表做成一个数组以匹配其他变量的格式。
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,但这仍然没有解决我的问题。
非常感谢你们提供的任何帮助,如果有人提出这个问题,我们再次表示歉意。