shap.dependence_plot里colorbar的字体和标签大小怎么调

shap.dependence_plot里colorbar的字体和标签大小怎么调

shap.dependence_plot 可以通过设置 cmap 参数来改变颜色映射,但它并不提供直接修改 colorbar 标签字体和标签大小的参数。不过,我们可以通过 matplotlib 的 colorbar 对象进行调整。
具体而言,可以先调用 shap.dependence_plot 来生成 matplotlib 的子图对象,再使用该对象获取 Axes 对象和 colorbar 对象,最后通过 set_label() 和 set_ticklabels() 方法修改 colorbar 的标签文字和字体大小。以下是一段示例代码:
import shap
import matplotlib.pyplot as plt
import numpy as np
from sklearn.datasets import load_boston
from sklearn.ensemble import RandomForestRegressor
X,y = load_boston(return_X_y=True)
model = RandomForestRegressor(n_estimators=100)
model.fit(X, y)
explainer = shap.Explainer(model)
shap_values = explainer(X)
shap.dependence_plot("RM", shap_values, X, cmap=plt.get_cmap('inferno'))
# 获取 colorbar 对象
fig = plt.gcf()
cbaxes = fig.axes[-1]
colorbar = cbaxes.collections[0].colorbar
# 修改标签字体和大小
colorbar.ax.tick_params(labelsize=14)
colorbar.set_label('Feature importance', size=16)
plt.show()
在这个例子中,我们使用 Boston 数据集和随机森林回归模型生成一个 SHAP 依赖图,并使用 cmap=plt.get_cmap('inferno') 将颜色映射修改为热力图调色板。然后,我们获取 colorbar 对象,并通过 colorbar.ax.tick_params(labelsize=14) 和 colorbar.set_label('Feature importance', size=16) 分别修改标签字体和大小。
你可以根据需要微调 labelsize 和 size 参数的值。