与弦相关的海底热图

时间:2020-04-21 04:09:38

标签: python heatmap

我正在尝试构建一个热图以说明索引与范围(字符串)之间的相关性。

data = {'Report': [1,2,3,4],
        'Hours': [30,45,85,24],
        'Wage': [100,446,245,632],
        'Worker': [321,63,456,234],
        'Buyer': [36,53,71,52],
        'Range': ['High', 'Medium', 'Low', 'Low']
        }

df = pd.DataFrame(data, columns = ['Report', 'Hours', 'Wage', 'Worker', 'Buyer', 'Range'])

我的预期结果将是一个热图,左侧为“小时”,“工资”,“工人”和“买方”为索引,底部为“范围”三个类别。

如何使用Seaborn热图获得所需的结果? 提前致谢! 感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

data = {'Report': [1,2,3,4],
    'Hours': [30,45,85,24],
    'Wage': [100,446,245,632],
    'Worker': [321,63,456,234],
    'Buyer': [36,53,71,52],
    'Range': ['High', 'Medium', 'Low', 'Low']
    }

df = pd.DataFrame(data, columns = ['Report', 'Hours', 'Wage', 'Worker', 'Buyer', 'Range'])
df_corr = df.corr()
fig, ax = plt.subplots(figsize=(12, 9)) 
sns.heatmap(df_corr, square=True, vmax=1, vmin=-1, center=0)

print(df_corr)

          Report     Hours      Wage    Worker     Buyer
Report  1.000000  0.103434  0.774683  0.103496  0.595586
Hours   0.103434  1.000000 -0.333933  0.548300  0.845140
Wage    0.774683 -0.333933  1.000000 -0.542259  0.208270
Worker  0.103496  0.548300 -0.542259  1.000000  0.356177
Buyer   0.595586  0.845140  0.208270  0.356177  1.000000

只需计算相关系数并用头图绘制它们。