You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将SHAP部分依赖图保存为PDF文件?

解决方法

你当前代码的问题出在调用了plt.show()——这个函数会显示图形并释放当前的Figure对象,之后再调用plt.savefig()就无法正确捕获到要保存的图了。

修正后的代码如下:

import shap
import matplotlib.pyplot as plt

# 生成部分依赖图,设置show=False避免自动显示
shap.partial_dependence_plot(
    "B", model.predict, X100, ice=False, show=False,
    model_expected_value=True, feature_expected_value=True
)

# 直接保存图形,无需先调用plt.show()
plt.savefig('K.pdf', bbox_inches='tight', dpi=600)

# 如果之后需要查看图形,再调用plt.show()
plt.show()

关键注意点:

  • 必须让shap.partial_dependence_plot的show参数保持False,避免shap自动触发图形显示并释放Figure
  • 先执行plt.savefig()再调用plt.show()(如果需要查看图形的话)——plt.show()会关闭当前绘图上下文,导致后续无法保存
  • bbox_inches='tight'能防止图形边缘内容被截断,dpi=600可以保证PDF文件的清晰度

内容的提问来源于stack exchange,提问作者user20155022

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 19:56:50