如何从含多组x,y坐标数组的列表绘制多个Shapely多边形?
在同一张图中绘制多个Shapely多边形的解决方案
实现思路
遍历labels列表中的每一组坐标数组,将其转换为Shapely多边形后,提取外边界的坐标点,在同一个Matplotlib画布上依次绘制即可。
完整代码示例
import matplotlib.pyplot as plt from shapely.geometry.polygon import Polygon as Pol_s # 创建画布 plt.figure(figsize=(8, 6)) # 遍历所有多边形坐标 for coords in labels: poly = Pol_s(coords) x, y = poly.exterior.xy plt.plot(x, y) # 可选:添加图表元素优化显示 plt.title("多Shapely多边形展示") plt.xlabel("X轴") plt.ylabel("Y轴") plt.axis('equal') # 保持坐标比例一致,避免图形变形 plt.show()
可选优化方案
- 区分不同多边形:给
plt.plot指定不同颜色,比如用随机色plt.plot(x, y, color=np.random.rand(3,))(需提前导入numpy),或使用预设颜色列表循环赋值 - 填充多边形内部:用
plt.fill(x, y, alpha=0.3)替代plt.plot,或两者结合实现带边框的填充效果,alpha参数控制填充透明度
内容的提问来源于stack exchange,提问作者Toby_h
相关产品推荐
相关产品推荐

