0

给定一系列二维坐标以及每个坐标的加权值,是否有一种方法可以使用 numpy histrogram2d 方法确定每个 bin 中的标准偏差?

4

2 回答 2

0

不知道你在问什么,你能发布你的代码吗?

我通常在 hist 绘制垂直线上绘制 std 如下:

plt.axvline(x=np.mean(data)-np.std(data), ls = "--", color='#2ca02c', alpha=0.7)
plt.axvline(x=np.mean(data)+np.std(data), ls = "--", color='#2ca02c', alpha=0.7)

其中“数据”是包含所有值的字典图片

于 2017-05-19T18:50:08.747 回答
0

使用 numpy不能直接histrogram2d实现,但使用scipy.stats.binned_statistic_2d可以很容易地完成。

from scipy import stats

x = np.random.rand(10000)
y = np.random.rand(10000)
z = np.random.rand(10000)
binx = np.linspace(0,x.max(), 100)
biny = np.linspace(0,y.max(), 100)
hist = stats.binned_statistic_2d(x, y, z, statistic='std', bins=[binx, biny])
plot_x, plot_y = np.meshgrid(binx, biny)

fig, ax = plt.subplots(figsize=(5,5))
pc = ax.pcolormesh(plot_x, plot_y, hist[0].T, cmap="inferno")
ax.set_aspect('equal')
cbar=fig.colorbar(pc,shrink=0.725)
fig.tight_layout()

在此处输入图像描述

statistic选项还可以采用不同的东西,例如meanmedian或用户定义的函数,有关更多详细信息,请参阅文档

于 2021-03-11T14:50:57.207 回答