关于保存图片时出现的<Figure size 800x550 with 0 Axes>以及保存图片空白的完美解决

作者分享了解决在使用SHAP库绘制热图时,保存图片空白的问题,原因是plt.show()调用在plt.savefig()之前。通过设置`show=False`解决了问题,同时此方法也适用于其他库中类似图像显示问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

<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()语句时出现的

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值