数组数据集中的二维直方图
2D Histogram out of array data set
我有一个如下所示的数组:
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 直方图。我一直在看教程,但它们似乎都展示了如何从随机数据而不是像那样的 numpy 矩阵创建 2D 直方图。
所以最后它应该是一个热图,其中红色表示比蓝色更多的计数。
有没有人有任何解决此类问题的想法或提示?
您可以简单地将数组拆分为 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
的文档。
我有一个如下所示的数组:
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 直方图。我一直在看教程,但它们似乎都展示了如何从随机数据而不是像那样的 numpy 矩阵创建 2D 直方图。 所以最后它应该是一个热图,其中红色表示比蓝色更多的计数。
有没有人有任何解决此类问题的想法或提示?
您可以简单地将数组拆分为 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
的文档。