我有两个数组x
和y
,两个数组都在明确定义的范围内。我能够创建一个hexbin图(see image),但是,我现在想要归一化这些分布并在它们周围绘制等高线图。我对每个hexbin中的计数不太感兴趣。相反,我有兴趣显示对应于1,2和3标准偏差(σ)的轮廓。我希望输出显示类似于this示例的轮廓。分布是高斯分布。我非常感谢你提出任何意见。
答案 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()
。
此外,当用hexbin
和xscale='log'
调用yscale='log'
时,get_offsets()
仅返回array([[0., 0.]])
。
答案 1 :(得分:-2)
我已经回答了其他人,如何创建轮廓图。请检查the answered question的以下链接。如果您有任何其他问题或疑虑,请随时在评论中提问。我会尽快回答。