每个 bin 中按标准偏差着色的 2D 直方图

2D histogram coloured by standard deviation in each bin

有没有办法在 Python 中创建 2D 直方图,其中每个 bin 按每个 bin 中点的标准差而不是点密度着色?

例如,我有一组二维数据,如下所示:

但我想把它变成二维直方图,我希望纯度在类似梯度的结构中间降低。

我知道这个问题中没有代码,但如果我能指出正确的方向来有效地做到这一点,我将不胜感激。也许已经有一种优化的方法可以做到这一点,我可以节省时间而不是创建矩阵或网格并显式计算标准偏差?

看看 scipy.stats.binned_statistic_2d,然后将函数 'std' 作为 'statistic' 参数。

文档似乎以某种方式遗漏了 'std' 的可能性,但在源代码中它是可用的。否则你可以给 numpy.std 作为参数。