首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >X Y Z阵列数据到热图

X Y Z阵列数据到热图
EN

Stack Overflow用户
提问于 2017-08-03 04:58:17
回答 1查看 14.2K关注 0票数 8

对于这个问题或满足我需要的问题,我找不到一致的答案--我在一个文本文件的三列中有数据: X、Y和Z。这些列以制表符分隔。我想用Python对这些数据进行热图表示,其中X和Y位置由Z中的值着色,Z值的范围从0到1(X和Y的离散概率)。我尝试过seaborn的heatmap包和matplotlib的pcolormesh网格,但不幸的是它们需要2D数据数组。

我的数据从1到37遍历X,对于常数y,然后在Y中迭代0.1。y max根据数据集波动,但ymin始终为0。

X Y Z第11行...37 0.0000 Zvalue,第21行...37 0.1000 Zvalue等。

代码语言:javascript
代码运行次数:0
运行
复制
import numpy as np
from numpy import *
import pandas as pd
import seaborn as sns
sns.set()

df = np.loadtxt(open("file.txt", "rb"), delimiter="\t").astype("float")

对于下一步有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-13 19:51:32

如果我没理解错的话,你有三列,X和Y表示值Z的位置。

考虑下面的例子。共有三列:X和Y包含位置信息(在本例中为类别),Z包含用于对热贴图进行着色的值。

代码语言:javascript
代码运行次数:0
运行
复制
x = np.array(['a','b','c','a','b','c','a','b','c'])
y = np.array(['a','a','a','b','b','b','c','c','c'])
z = np.array([0.3,-0.3,1,0.5,-0.25,-1,0.25,-0.23,0.25])

然后,我们从这些列创建一个dataframe并转置它们(因此x、y和z实际上成为列)。给出列名并确保Z_value是一个数字。

代码语言:javascript
代码运行次数:0
运行
复制
df = pd.DataFrame.from_dict(np.array([x,y,z]).T)
df.columns = ['X_value','Y_value','Z_value']
df['Z_value'] = pd.to_numeric(df['Z_value'])

产生了这个数据帧。

代码语言:javascript
代码运行次数:0
运行
复制
X_value Y_value Z_value
0   a   a   0.30
1   b   a   -0.30
2   c   a   1.00
3   a   b   0.50
4   b   b   -0.25
5   c   b   -1.00
6   a   c   0.25
7   b   c   -0.23
8   c   c   0.25

因此,您不能创建热图,但是通过调用df.pivot('Y_value','X_value','Z_value'),您可以将数据帧旋转到可用于热图的表单。

代码语言:javascript
代码运行次数:0
运行
复制
pivotted= df.pivot('Y_value','X_value','Z_value')

生成的数据帧如下所示。

代码语言:javascript
代码运行次数:0
运行
复制
X_value a   b   c
Y_value         
a   0.30    -0.30   1.00
b   0.50    -0.25   -1.00
c   0.25    -0.23   0.25

然后,您可以将pivotted馈送到sns.heatmap以创建热图。

代码语言:javascript
代码运行次数:0
运行
复制
sns.heatmap(pivotted,cmap='RdBu')

产生了这个热图。

您可能需要对代码进行一些调整,以满足您的精确需求。但由于我没有示例数据可供参考,因此我需要创建自己的示例。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45470882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档