【发布时间】:2018-01-10 06:31:46
【问题描述】:
对于这个问题或适合我需要的问题,我无法找到一致的答案——我在文本文件的三列中有数据:X、Y 和 Z。列是制表符分隔的。我想用 Python 制作这些数据的热图表示,其中 X 和 Y 位置由 Z 中的值遮蔽,范围从 0 到 1(X 和 Y 的离散概率)。我正在尝试 seaborn 的 heatmap 包和 matplotlib 的 pcolormesh,但不幸的是这些需要 2D 数据数组。
对于常数 y,我的数据从 1 到 37 遍历 X,然后在 y 中迭代 0.1。 y max 根据数据集波动,但 ymin 始终为0。
[X Y Z] row1[1...37 0.0000 Zvalue], row2[1...37 0.1000 Zvalue] 等
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")
关于后续步骤的任何提示?
【问题讨论】:
-
我知道您说过您已经研究了很多问题,但请查看this one。我刚才回答了这个问题,这似乎是您想要的,将 3 个 1D 数组放入热图中。
-
这绝对是完美的,谢谢!
-
@ViníciusAguiar -- 是否可以获得更多离散颜色(去除轮廓阴影)?
-
我不认为我理解你的问题,但如果我理解它,恐怕我无法帮助你,最好再问一个问题或深入研究 matplotlib 的文档。
标签: python arrays matplotlib heatmap seaborn