具有 2 个一维列作为 x 和 y 轴,以及 1 个一维列作为 z 轴的简单热图

Simple heatmap with 2 1D columns as x and y-axis, and 1 1D column as z-axis

我有包含 x 轴和 y 轴坐标以及 z 值的数据框:

df = pd.DataFrame({'x':[1,2,2,3,3,3],'y':[1,1,2,1,2,3],'z':[3,2,4,5,1,6]})
df

如何绘制仅包含这些值的类似相关性的热图,即只有一个三角形半填充的 3x3 矩阵。

正在考虑使用 seaborn,但任何解决方案都可以。

您可以调整您的 table(我包括了您提到的 seaborn 解决方案):

pivot = df.pivot(index='x', columns='y', values='z')
ax = sns.heatmap(pivot, annot=True)
plt.show()

输出:

如果不需要,可以删除注释;如果需要交换轴,可以交换 xy,如下所示:

pivot = df.pivot(index='y', columns='x', values='z')
ax = sns.heatmap(pivot)
plt.show()

输出: