【发布时间】:2016-11-13 04:57:59
【问题描述】:
我正在尝试从大型 CSV 绘制热图。具体来说,我有一个这样的矩阵:
O0 X1 X2 X3 . . . Xn
Y1 Z1 Z2 Z3 . . . Zn
Y2 Z1 Z2 Z3 . . . Zn
Y3 Z1 Z2 Z3 . . . Zn
. . . . . . . .
. . . . . . . .
. . . . . . . .
Yn Z1 Z2 Z3 . . . Zn
X 值超过 4K,Y 值超过 15K,Z 值介于 0 到 1000 之间,我需要生成图像,其中 0 值是冷蓝色像素,1000 值是热红色值,与a 其余值下降,我尝试了一些 python 实用程序,但他们都说 fata 太大,有人有一个库来绘制大量数据吗?
有我用来减去数据的代码:
reader = csv.reader(open('../Data/160627_185815_1_OK.csv', 'rt'), delimiter=';')
reader2 = csv.reader(open('../Data/160627_195553_1_OK.csv', 'rt'), delimiter=';')
first = True
valuesGT1 = 0
print(reader)
Z = []
for row in reader:
row2 = next(reader2)
row2.pop(0)
row.pop(0)
if not first:
C = [float(a) - float(b) for a, b in zip(row, row2)]
with open('results_test.csv', 'a') as csvfile:
spamwriter = csv.writer(csvfile, delimiter=',',
quotechar='|', quoting=csv.QUOTE_MINIMAL)
spamwriter.writerow(C)
csvfile.close()
Z.append(C)
else:
first = False;
提前致谢。
编辑:Example CSV
【问题讨论】:
-
哇,所以你要生成一个 4000px x 15000px 的图像?
-
您能否提供一个 csv 作为示例(可能只是 100*100 的提取),以便我们可以使用真实数据?
-
@Cyrbil 嗨,有一个文件摘录:link 谢谢。
-
@SeanFrancisN.Ballais 就是这样。
标签: python csv matplotlib plot heatmap