当我试图在Windows 10中运行的Spyder中保存matplotlib图形时,出现了一个错误。我的代码很简单,看起来像:
date0 = datetime(2018, 1, 1, 0, 0)
m.contourf(x, y, Zp * norm_vert, np.arange(0, 40, 0.1), cmap = 'jet')
plt.colorbar(cmap = 'jet')
plt.savefig("C:\Work\IWV\" + str(date0) + ".png")
错误为:
OSError: [Errno 22] Invalid argument: 'C:\Work\IWV\2018-01-01 00:00:00.png'
我还试图将最后一行改写为:
plt.savefig(r"C:WorkIWV" + str(date0) + ".png")
但在这种情况下,savefig的整个参数被视为一个字符串,因此文件的名称将类似于"str(date0(+.png.png"。有人能帮我解决这个问题吗?
由于无法使用符号:
命名文件,因此出现错误。使用以下内容代替str(date0)
:
date0.strftime("%B-%d-%Y-%H-%M-%S")
您将有一个可以保存的字符串,没有禁止字符:
,如下所示:
Out[11]: 'January-01-2018-00-00-00'
或者您喜欢的任何其他格式。点击此处了解更多关于strftime
的信息。然后,您就可以使用+ '.png'
作为文件扩展名。