如何在Windows中保存matplotlib图形



当我试图在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'作为文件扩展名。

最新更新