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

Seaborn绘制泰坦尼克数据集热力图时n_siblings_spouses报错如何解决

问题根因

你开启了Matplotlib的LaTeX渲染模式(rc('text', usetex=True)),而特征名n_siblings_spouses包含下划线_,该符号在LaTeX语法中属于数学模式专用的下标标记,直接在普通文本中使用会触发LaTeX语法报错,和Seaborn、特征本身的数据逻辑没有关联。

解决方案

方案1:保留LaTeX渲染,不删除特征(推荐)

仅需在绘图环节临时转义相关性矩阵的列名、索引中的下划线即可,无需修改原始数据集,修改后的heatMap函数如下:

def heatMap(df):
    # 创建相关性矩阵
    corr = df.corr()
    # 转义下划线适配LaTeX语法
    corr.columns = corr.columns.str.replace('_', r'\_')
    corr.index = corr.index.str.replace('_', r'\_')
    # 剩余代码保持原有逻辑不变
    fig, ax = plt.subplots(figsize=(10, 10))
    colormap = sns.diverging_palette(220, 10, as_cmap=True)
    sns.heatmap(corr, cmap=colormap, annot=True, fmt=".2f")
    plt.xticks(range(len(corr.columns)), corr.columns)
    plt.yticks(range(len(corr.columns)), corr.columns)
    plt.show()

方案2:无需LaTeX渲染可直接关闭配置

如果你的绘图没有强制使用LaTeX渲染的需求,直接把代码中的rc('text', usetex=True)改为rc('text', usetex=False)即可,不需要修改其他逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 18:39:02