当前位置: 代码迷 >> python >> 请在Python中详细解释2D直方图
  详细解决方案

请在Python中详细解释2D直方图

热度:31   发布时间:2023-06-13 17:15:48.0

我试图了解2D直方图的值是什么。

我有2个相同长度X和Y的numpy数组(每个数字都有浮点数)。

例如X的前10个值:[88,193,60,98,78,100,75,76,130]

和Y:[18.,9.,36.1,18.5,34.3,32.9,32.2,22,15。]

我用的时候:

import matplotlib.pyplot as plt

plt.hist2d(X,Y, bins=(10,20)) 

我得到了一个2D直方图。

但是这是什么意思?

1D直方图只显示我拥有的每件物品的数量。

请解释一下2D中的含义。

提前致谢!

假设您有一维数组,您在x轴上绘制其值的位置,它们是如此密集以至于无法分辨空间分布,您使用一维直方图来显示沿x轴的方框数量的分布。 问题解决了。

然后你有两个一维数组,一个(x,y)轴的二维点列表。 你在xy平面上绘制它们的位置,它们又如此密集并且相互重叠。 您希望通过平面中的方框数更好地查看分布,因此您可以尝试2D图。 问题解决了。

这是一个例子

import numpy as np
import matplotlib.pyplot as plt

%matplotlib inline

# prepare 2D random dots centered at (0, 0)
n = 100000
x = np.random.randn(n)
y = x + np.random.randn(n)

# plot data
fig1 = plt.figure()
plt.plot(x,y,'.r')
plt.xlabel('x')
plt.ylabel('y')

# plot 2D histogram using pcolor
fig2 = plt.figure()
plt.hist2d(x, y, bins=100)
plt.xlabel('x')
plt.ylabel('y')
cbar = plt.colorbar()
cbar.ax.set_ylabel('Counts')