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

线性回归项目热力图异常求助:图偏黑且侧边显示数字而非列名

解决热力图偏黑+显示数字而非列名的问题

你的问题根源有两个:

  • 直接用原始数据集绘制热力图,而非相关性矩阵,数据数值范围差异过大导致颜色偏黑;
  • 图表尺寸太小,列名显示不下被自动替换成了索引数字。

直接修改代码中的热力图部分即可,完整修改后的代码如下:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import missingno

data = pd.read_csv('student-mat.csv',sep=";")

print(data.info())
print(data.columns)

data = data[['school', 'sex','reason','studytime','internet', 'romantic','famrel','health','absences','failures','paid','higher','G1','G2','G3']]
data = pd.get_dummies(data, columns=['school', 'sex','paid', 'higher', 'internet', 'romantic', 'reason'], drop_first=True, dtype=int)

# 计算各列的相关性矩阵,这才是你需要的分析数据
corr_matrix = data.corr()

# 调整图表尺寸,给列名留出足够显示空间
plt.figure(figsize=(12, 8))
# 绘制相关性热力图:使用冷暖配色避免偏黑,显示相关系数数值,指定刻度标签为列名
sns.heatmap(corr_matrix, annot=True, cmap='coolwarm', xticklabels=data.columns, yticklabels=data.columns)
# 旋转x轴标签,避免文字重叠
plt.xticks(rotation=45, ha='right')
plt.show()

关键修改说明:

  1. 用data.corr()生成皮尔逊相关系数矩阵,这才是能体现各列相关性的核心数据;
  2. 增大figsize参数,解决列名显示不下的问题;
  3. 替换默认配色为coolwarm,避免大面积深色,同时开启annot=True直接显示相关系数数值;
  4. 显式指定刻度标签为数据集列名,配合旋转标签操作,彻底解决侧边显示数字的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 20:42:05