我想在我的计算几何项目中使用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()
我希望能够在绘图中显示该多边形。我该如何更改我的代码?
答案 0 :(得分:6)
如果您的数据位于.shp
文件中,则建议您选择geopandas:
import geopandas as gpd
import matplotlib.pyplot as plt
shapefile = gpd.read_file("path/to/shapes.shp")
shapefile.plot()
plt.show()
答案 1 :(得分:6)
有点晚了,但是我发现最方便的方法是如上所述使用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.GeoSeries的文档
答案 2 :(得分:1)
使用:
import matplotlib.pyplot as plt
x,y = polygon1.exterior.xy
plt.plot(x,y);
或更简洁地说:
plt.plot(*polygon1.exterior.xy);
答案 3 :(得分:0)
这可能是一个矫kill过正的方法,但是作为其他好的注释的替代方法,我将添加一个安装QGIS的选项-一个用于处理几何的免费软件。您需要做的就是将几何图形另存为形状文件(.shp),geoJSON或任何其他格式,然后使用QGIS将其打开。如果您正在计划一个大型项目,那么最后可能比使用matplotlib更方便。