2012-07-25 64 views
6

我有一个hexbin情节内的两个分布,如所示: enter image description here如何正常化hexbin图?

一种分布具有约4000最大值,而其它具有约2500一个最大值的绘制颜色是不同的,因此。

我想我可以规范化它,如果我知道hexbin图的最大值。除了查看颜色条之外,我怎么知道最大hexbin内有多少点?我正在使用matplotlib.pyplot.hexbin

+0

你试过正常化分布自己? – 2012-07-25 12:47:26

+0

是的,我尝试过,它很好,直到我想将它们加在一起... – Paul 2012-08-02 09:55:54

回答

7

您可以获取用于标准化颜色采集数据的标准的最小值和最大值。

hb = plt.hexbin(x, y) 
print hb.norm.vmin, hb.norm.vmax 

然后,你可以继续将这个信息传递给第二个图。这个问题是第一个情节必须有比第二个情节更多的范围,否则第二个情节不会被全部着色。

另外,最好,你可以构造你传递给hexbin功能,为您的地块的规范:

norm = plt.normalize(min_v, max_v) 
hb1 = plt.hexbin(x1, y1, norm=norm) 
hb2 = plt.hexbin(x2, y2, norm=norm) 

HTH,

+0

这帮助我得到我想要的。谢谢。 – Paul 2012-07-31 09:19:08

+0

你知道我是如何将多个标准化的地块加在一起制作一个大型地块? – Paul 2012-08-02 09:31:34