如何使用 Matplotlib 绘制 Shapely 多边形和对象?

新手上路,请多包涵

我想将 Shapely 用于我的计算几何项目。为此,我需要能够可视化和显示多边形、线条和其他几何对象。我试过为此使用 Matplotlib,但我遇到了麻烦。

 from shapely.geometry import Polygon
import matplotlib.pyplot as plt

polygon1 = Polygon([(0,5),
                    (1,1),
                    (3,0),
                    ])

plt.plot(polygon1)
plt.show()

我希望能够在图中显示此多边形。我将如何更改我的代码来执行此操作?

原文由 ebeb9 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.8k
2 个回答

采用:

 import matplotlib.pyplot as plt

x,y = polygon1.exterior.xy
plt.plot(x,y)

或者,更简洁:

 plt.plot(*polygon1.exterior.xy)

原文由 ap21 发布,翻译遵循 CC BY-SA 4.0 许可协议

有点晚了,但我发现最方便的方法是按照上面的建议使用 Geopandas,但无需先写入文件。

 from shapely.geometry import Polygon
import matplotlib.pyplot as plt
import geopandas as gpd

polygon1 = Polygon([(0,5),
                    (1,1),
                    (3,0),
                    ])

 p = gpd.GeoSeries(polygon1)
 p.plot()
 plt.show()

使用 Geopandas 绘制的多边形

查看 Geopandas.GeoSeries 的文档

原文由 Micah Johnson 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题