是否有方法使用numpy histrogram2d方法确定每个bin中的标准偏差,给定一系列2d坐标以及每个坐标的加权值?
答案 0 :(得分: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)
的字典
答案 1 :(得分: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
选项还可以采用不同的内容,例如 mean
、median
或用户定义的函数,有关详细信息,请参阅 documentation。