Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 带有X、Y数据的Matplotlib热图_Python_Pandas_Matplotlib_Heatmap - Fatal编程技术网

Python 带有X、Y数据的Matplotlib热图

Python 带有X、Y数据的Matplotlib热图,python,pandas,matplotlib,heatmap,Python,Pandas,Matplotlib,Heatmap,我想在matplotlib中使用pcolor或其他热图库制作热图。我已经找到了很多很好的例子,但无法确定如何以正确的格式获取数据,或者使用数据的格式进行绘图 下面是如何设置我的数据 X Y Value 0 1 .6 0 2 .3 0 3 .2 1 1 .8 1 2 .4 1 3 .9 因此,X和Y列表示(X,Y)对,其中值是对应单元格的值。我正在努力找到一种方法来转换数据以使用pcolor或其他绘图方法。任何帮助都将不胜感激。您必须将x&y值转换为2D numpy数

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

下面是如何设置我的数据

X  Y  Value
0  1  .6
0  2  .3
0  3  .2
1  1  .8
1  2  .4
1  3  .9

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

您必须将x&y值转换为2D numpy数组。数组的两个维度表示x&y,而值映射到热图色条。给出了更多的彩色地图

产生

看起来您使用的是熊猫数据帧。 在将pivot数据框打印为表格并使用热图方法之前,即从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()

输出:

X    0    1
Y
1  0.6  0.8
2  0.3  0.4
3  0.2  0.9

来自官方文档的这个链接提供了一个很好的例子:你的代码中没有
x,y
关系,你得到了2d矩阵,里面有值,图像是根据你提供的值生成的,它们都被索引到3,有一些
-half
偏移量
X    0    1
Y
1  0.6  0.8
2  0.3  0.4
3  0.2  0.9