如何在hexbin图上绘制轮廓?

时间:2012-07-24 20:58:52

标签: python numpy matplotlib

我有两个数组xy,两个数组都在明确定义的范围内。我能够创建一个hexbin图(see image),但是,我现在想要归一化这些分布并在它们周围绘制等高线图。我对每个hexbin中的计数不太感兴趣。相反,我有兴趣显示对应于1,2和3标准偏差(σ)的轮廓。我希望输出显示类似于this示例的轮廓。分布是高斯分布。我非常感谢你提出任何意见。

2 个答案:

答案 0 :(得分:0)

根据hexbin文档https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.hexbin.html,您应该能够访问bin的(x,y)位置以及返回变量的值。例如:

h = hexbin(...)
xy = h.get_offsets()
v = h.get_array()

您可以使用它们绘制轮廓。

请注意,文档不正确,并说应调用get_offset(),但该函数不存在,它是get_offsets()

此外,当用hexbinxscale='log'调用yscale='log'时,get_offsets()仅返回array([[0., 0.]])

答案 1 :(得分:-2)

我已经回答了其他人,如何创建轮廓图。请检查the answered question的以下链接。如果您有任何其他问题或疑虑,请随时在评论中提问。我会尽快回答。