带有 X、Y 数据的 Matplotlib 热图

a.p*_*ell 4 python matplotlib heatmap pandas

我想matplotlib使用其中一个pcolor或另一个热图库制作热图。我找到了很多很好的例子,但无法确定如何以正确的格式获取我的数据,或者使用我的数据格式进行绘图。

这是我的数据的设置方式

X  Y  Value
0  1  .6
0  2  .3
0  3  .2
1  1  .8
1  2  .4
1  3  .9
Run Code Online (Sandbox Code Playgroud)

因此,XY列表示(X,Y)对,其中Value是相应单元格的值。我正在努力寻找一种方法来转换数据以使用pcolor或另一种绘图方法。任何帮助,将不胜感激。

Ser*_*ity 6

看起来你使用熊猫数据框。在将数据透视图绘制为表格并使用热图方法之前,即来自 seaborn:

import seaborn as sns 
import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_clipboard()
table = df.pivot('Y', 'X', 'Value')
ax = sns.heatmap(table)
ax.invert_yaxis()
print(table)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

输出:

X    0    1
Y
1  0.6  0.8
2  0.3  0.4
3  0.2  0.9
Run Code Online (Sandbox Code Playgroud)