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

如何调整Python中SHAP依赖图的X轴文本大小以避免重叠

解决SHAP依赖图X轴文本重叠问题

问题描述

我使用以下代码生成SHAP依赖图:

for i in range(len(col_list)):
    shap.dependence_plot(i, shap_values, X.values, feature_names=X.columns, dot_size=10, interaction_index=None, x_jitter=-0.5)

生成的图表中X轴文本出现重叠(如150000与175000重叠),请问如何修改X轴文本的大小使其变小?

解决方案

SHAP依赖图基于Matplotlib渲染,你可以通过以下两种方式调整X轴文本大小:

方法1:单图实时调整

在绘图循环中调用Matplotlib的xticks()方法直接修改当前图表的X轴文本大小,同时配合tight_layout()优化布局:

import matplotlib.pyplot as plt

for i in range(len(col_list)):
    shap.dependence_plot(i, shap_values, X.values, feature_names=X.columns, dot_size=10, interaction_index=None, x_jitter=-0.5)
    # 调整X轴刻度文本大小,数值可按需修改(如6、7、8)
    plt.xticks(fontsize=8)
    # 自动调整布局,减少元素重叠
    plt.tight_layout()

方法2:全局统一设置

如果需要所有生成的SHAP图表都使用统一的轴文本大小,可以先设置Matplotlib的全局参数:

import matplotlib.pyplot as plt

# 全局设置X、Y轴刻度文本大小
plt.rcParams['xtick.labelsize'] = 8
plt.rcParams['ytick.labelsize'] = 8

# 执行绘图循环
for i in range(len(col_list)):
    shap.dependence_plot(i, shap_values, X.values, feature_names=X.columns, dot_size=10, interaction_index=None, x_jitter=-0.5)
    plt.tight_layout()

说明

  • fontsize的数值可根据图表尺寸和重叠程度灵活调整,数值越小文本越紧凑;
  • tight_layout()会自动调整图表内元素的间距,进一步降低重叠概率。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 10:40:35