我有一个看起来像这样的数组:
array([[ 912.1, 821.5],
[ 911.9, 821.5],
[ 911.9, 821.5],
...,
[ 654.6, 552.8],
[ 655. , 553.3],
[ 655.4, 553.7]])
所以就像那样组织了250,000个坐标。每个包含一个x值和一个y值。 我想用这个数据创建一个2D直方图。我一直在看教程,但他们似乎都展示了如何从随机数据创建2D直方图,而不是像这样的numpy矩阵。 所以最后它应该是一个热图,其中红色表示比蓝色更多的计数。
有没有人有任何想法或提示来解决这类问题?
答案 0 :(得分:1)
您可以简单地将数组拆分为x
和y
的各个向量:
x = arr[:,0]
y = arr[:,1]
然后,您可以使用hist2d
:
plt.hist2d(x, y)
plt.colorbar()
plt.show()
或者,在一行中:
plt.hist2d(arr[:,0], arr[:,1])
为了进一步提高灵活性,例如更改色阶请阅读numpy.histogram2d
的文档。