python - 如何在 hexbin 图上绘制等高线?

标签 python numpy matplotlib

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

最佳答案

根据 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.]])

关于python - 如何在 hexbin 图上绘制等高线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11639202/

相关文章:

python - Pandas:如何从 groupby 值中找到单元格的索引?

python - 在python中模拟对数螺旋星系

python 3 : Installing gi package with pip

python - Matplotlib 动画绘图包含以前的数据

Python PDF/图像表重建选项

python - 如何更新数据帧值

python - 移动到文本小部件 tkinter 中的特定位置

python - 使用 NetworkX 计算 2 个节点之间的命中时间

识别列表或数组中的数字是否更接近 0 或 1 的 Python 函数

python - 具有不同 X 轴顺序的 Pandas groupby 图