为多边形添加标签

时间:2018-12-18 01:46:12

标签: python-3.x shapely geopandas

I have seen this question,其中将标签添加到多边形,并且它们出现在每个多边形内。 我正在尝试完成相同的操作,但是我使用的格式不同,无法看到如何对我的案件应用相同的方法。

我的多边形是这样的:

import geopandas as gpd
from shapely.geometry import Polygon
boundary = gpd.GeoSeries({
    'foo': Polygon([(5, 5), (5, 13), (13, 13), (13, 5)]),
    'bar': Polygon([(20, 20), (40, 20), (40, 30), (20, 30)]),
})


boundary.plot(cmap="Greens")
plt.show()

有什么想法让每个多边形都有标签吗?

1 个答案:

答案 0 :(得分:2)

一种方法可能是使用多边形中的质心并进行注释:

ax = boundary.plot(cmap="Greens")

for i, geo in boundary.centroid.iteritems():
    ax.annotate(s=i, xy=[geo.x, geo.y], color="red")

    # show the subplot
    ax.figure

plt.show()

enter image description here