数组数据集中的二维直方图

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 直方图。 所以最后它应该是一个热图,其中红色表示比蓝色更多的计数。

有没有人有任何解决此类问题的想法或提示?

您可以简单地将数组拆分为 xy 的单独向量:

x = arr[:,0]
y = arr[:,1]

然后,您可以使用 hist2d:

以标准方式创建二维直方图
plt.hist2d(x, y)
plt.colorbar()
plt.show()

或者,在一行中:

plt.hist2d(arr[:,0], arr[:,1])

为了进一步的灵活性,例如更改色标请阅读 numpy.histogram2d 的文档。