我这几天在保存图时发现我有的图可以保存下来,有些就显示了类似

<Figure size 800x550 with 0 Axes>

这种的小字,然后运行是可以显示的,但是存下来的图是空白的

找了CSDN很多贴都是说用plt.savefig()保存图片空白是应为把plt.show()放在了plt.savefig()前面导致的。但是我这边明显不是这种情况

错误如下

这是我用SHAP画的一幅热图,退回主界面看这个文件的内存占的很少(打开里面就是空白的)

后面发现了十分契合这种问题的解决方法

shap.plots.heatmap(shap_values[1:100])

这个是原来的代码

当我改成下面这个代码,就是在你的绘图命令后加一条show=False

shap.plots.heatmap(shap_values[1:100], show=False)

就可以解决问题了

改了代码后再存这幅图,它的内存明显比空白的时候大了很多,点开就是正常显示的图片了

(备注,该方法也适用于其它库存图出现的类似的情况,不止SHAP库)

<Figure size 800x550 with 0 Axes>是使用plt.show()语句时出现的

感谢观看!希望这条帖子可以对遇见同样问题的大家有点帮助。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐