如何创建一个简单的自定义热图?

2024-04-23 23:49:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从熊猫数据帧df创建一个热图。df有两列:

name  test
aa    False
bb    False
cc    True
dd    False

热图应该包括X轴上的name值和Y轴上的test值。所以,基本上应该有两行-Y轴上的假和真。当test值为假时,假正方形用红色标记。当test值为真时,真正方形用绿色标记。你知道吗

这是我当前的代码:

import pandas as pd
import seaborn as sns

Index= df["name"].values
Cols = [True, False]
r = pd.DataFrame(df, index=Index, columns=Cols)
sns.heatmap(r, annot=True)

但是,此代码不能正常工作。我怎样才能解决我的任务?你知道吗


Tags: 数据代码name标记testimportfalsetrue
1条回答
网友
1楼 · 发布于 2024-04-23 23:49:41

你需要重塑你的DataFrame以你想要的方式绘制它。你知道吗

例如:

import matplotlib.pyplot as plt

df_new = df.set_index('name')['test'].astype(str).str.get_dummies().T

print(df_new)
name   aa  bb  cc  dd
False   1   1   0   1
True    0   0   1   0

然后可以使用seaborn.heatmap

plt.figure(figsize=(8, 4))
sns.heatmap(df_new, cmap='RdYlGn')

enter image description here

相关问题 更多 >