python hist2d_Matplotlib(hist2D)中的2D直方图是如何工作的?

二维直方图与一维直方图的工作原理相同。你定义一些箱子,找出每个箱子里的数据点,然后计算每个箱子里的点数。如果直方图是加权的,则将权重相加,而不是仅仅计算数字。在

举个例子x = [1.6, 2.3, 2.7]

y = [0.7, 1.8, 1.3]

我们要把它们放进有边的箱子里

^{pr2}$

另外,你的体重可能像weights = [0.6, 1, 2]

把情况想象出来sc = plt.scatter(x,y,c=weights, vmin=0)

plt.colorbar(sc)

plt.xticks(bins)

plt.yticks(bins)

plt.grid()

plt.show()

f8557b3ca2484b2f1b017be232c61ccb.png

现在我们可以用肉眼观察柱状图:

在binx=1..2,y=0..1中有一个点。此点的权重为0.6,因此此bin的值将为0.6。

在binx=2..3,y=1..2中有两个点。它们有重量1和{}。因此,该bin的值是1+2=3。在

其他的箱子都是空的。总的来说,你的直方图看起来像[[ 0.0, 0.6, 0.0 ]

[ 0.0, 0.0, 3.0 ]

[ 0.0, 0.0, 0.0 ]]

这确实是我们让纽比做历史记录时得到的。在values, _, _ = np.histogram2d(x,y, bins=bins, weights=weights)

print(values.T)

注意.T转置;这就是句子“x中的值沿着第一个维度被组织起来,y中的值沿着第二个维度被组织起来”想要告诉你的。在

plt.hist2d是numpy.histogram2d的包装器,它将把这个数组打印成图像h,_, _, image = plt.hist2d(x,y,bins=bins, weights=weights)

plt.colorbar(image)

plt.show()

9a7a9f608b2d1e1af4a2dddf9e1071fa.png

其中值以颜色编码。在

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值