我试图了解2D直方图的值是什么。
我有两个长度相同的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中的含义。
提前致谢!
答案 0 :(得分:11)
假设您有一维数组,您在x轴上绘制其值的位置,它们是如此密集以至于无法分辨空间分布,您使用一维直方图来显示分布的数量沿x轴的方框。问题解决了。
然后你有两个1D阵列,(x,y)轴上的2D点列表。你在x-y平面上绘制它们的位置,它们又是如此密集并且相互重叠。您希望通过平面中的方框数更好地查看分布,因此您可以尝试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')
给出