首页 > 解决方案 > 从 Pandas 数据框的两列创建矩形热图

问题描述

我有一个像这样的 Pandas 数据框 -

在此处输入图像描述

“s”列中的值是模型对“k”和“w”对应值的准确度。因此,它严格介于 0 和 1 之间。

我想绘制一个热图,以便创建沿 X 轴的 k(7 个值)和沿 y 轴的 w(2 个值)的 7x2 网格,并且相应的单元格将根据 s 的值着色。

我尝试了 Seaborn 的 headmap 功能,但它不允许我定义使用哪一列来为网格着色。

标签: pythonpandasmatplotlibseaborn

解决方案


尝试:

import matplotlib.pyplot as plt
import seaborn as sns

flights = df.pivot("w", "k", "s")
f, ax = plt.subplots(figsize=(9, 6))
sns.heatmap(flights, annot=True,  linewidths=.5, ax=ax)
plt.show()

在此处输入图像描述


推荐阅读