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