python - 如何从 hexbin() matplotlib 方法的 polycollection 输出中获取六边形的顶点?

标签 python matplotlib hex bin

我正在尝试使用 matplotlib 和 python 获取从 hexbin() 方法绘制的六边形的顶点。得到了没有。使用 .get_arrays() 计算每个六边形中的点,并尝试使用 get_paths() 获取顶点坐标,但它只给了我 1 条路径(即只有 1 个六边形的顶点)。

如何检索所有六边形的顶点?尝试过的代码和输出写在下面。

x, y = np.random.normal(size=(2, 10000))
fig, ax = plt.subplots()
im = ax.hexbin(x, y, gridsize=20)
paths=im.get_paths()
print(paths)
fig.colorbar(im, ax=ax)

enter image description here

[正在生成的输出 map 有超过 1 个六边形。由于帐户限制,我无法在此处上传它,因为我是新手。][2]

 [Path(array([[ 0.18489907, -0.1102285 ],
   [ 0.18489907,  0.1102285 ],
   [ 0.        ,  0.22045701],
   [-0.18489907,  0.1102285 ],
   [-0.18489907, -0.1102285 ],
   [ 0.        , -0.22045701],
   [ 0.18489907, -0.1102285 ]]), array([ 1,  2,  2,  2,  2,  2, 79], dtype=uint8))]

最佳答案

我自己按照我解决问题的方式回答这个问题并且它有效。

第 1 步:使用 im.get_paths() 获取示例六边形坐标,如上面问题中所做的那样。

第 2 步:使用 im.get_offsets() 获取由 hexbin() 方法创建的所有六边形的偏移量。它给出了所有六边形的 x 和 y 偏移。

第 3 步:只需将偏移量添加到第 1 步中获得的示例“路径”坐标,这将给出六边形集合的实际坐标。

关于python - 如何从 hexbin() matplotlib 方法的 polycollection 输出中获取六边形的顶点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35422146/

相关文章:

python - Pandas 情节 : Assign Colors

python - 使用 matplotlib 动画更新 x 轴值

C - 如何 (*(void (*)()) 代码);在没有任何调用的情况下在 C 程序中运行

python:如何起床直到我的代码出现最后一个错误

python - MemoryError 使用 json.dumps()

后台 Python Matplotlib 更新图

C — 十六进制字符串到文字十六进制值

android - 从十六进制字符串到有符号整数

python - 更新现有的 virtualenv 以使用 Python 3.6

Python正则表达式搜索,匹配不匹配