我这几天在保存图时发现我有的图可以保存下来,有些就显示了类似
<Figure size 800x550 with 0 Axes>
这种的小字,然后运行是可以显示的,但是存下来的图是空白的
找了优快云很多贴都是说用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()语句时出现的
感谢观看!希望这条帖子可以对遇见同样问题的大家有点帮助。