hist2d 中属于特定数据集的颜色 bin

Color bin in hist2d belonging to specific data set

我有许多不同的数据集 (x,y)(具有不同的 counts/bin),我在 hist2d 的帮助下绘制了这些数据。所有 2D 直方图都具有相同的分箱。我正在寻找一种方法将所有这些都绘制在一个 hist2d.

完成此操作的方法是:

for i in range(len(ybins)-1):
    for j in range(len(xbins)-1):
        hist.T[i,j] = max([h1.T[i,j],h2.T[i,j],...,hn.T[i,j]])

我能够生成单独的 hist2d (see here)。如您所见,每个位置都不同。 我最终想要的是:

我无法找到如何在这种情况下分别为每个箱子着色,或者如何为 hist2dimshow 分配单一颜色。我找到了如何使用离散值定义自己的颜色栏,但是如何仅将颜色栏中的特定颜色传递给 hist2dimshow 的参数?

如果你的直方图数组是a1a2a3,例如:

from numpy import array, stack

h1 = array([[0, 10], 
            [0, 10]])
h2 = array([[20, 0], 
            [20, 0]])
h3 = array([[0, 0], 
            [30, 30]])

先把它们叠起来:

hist = stack([h1, h2, h3])

然后用argmax得到栈中每一项最大值的数组索引:

hist_index = hist.argmax(axis=0)

这将为您提供以下数组:

array([[1, 0],
       [2, 2]])