我正在绘图中绘制多个多边形:
from shapely.geometry import Polygon
import matplotlib.pyplot as plt
polygons.append(Polygon([(1,9), (4,9), (4,6), (1,6)]))
polygons.append(Polygon([(7,9), (10,9), (10,6), (7,6)]))
polygons.append(Polygon([(7,4), (10,4), (10,1), (7,1)]))
polygons.append(Polygon([(1,4), (4,4), (4,1), (1,1)]))
polygons.append(Polygon([(3,3), (3,7), (8,7), (8,3)]))
plt.figure()
for poly in polygons:
plt.plot(*poly.exterior.xy)
plt.show()
生成的图正确显示了我的多边形,但我想知道哪个多边形对应于图上的哪个索引(例如:绿色多边形是位于polygons[2]
处的多边形)。理想情况下,我想要一个将多边形的颜色与其索引相关联的图例,但我不知道如何在这样的循环中添加这样的图例。我已经尝试过 plt.legend(polygons.index(poly)) 但没有成功。
多边形的数量是可变的,因此严格分配颜色是不可能的。
如何添加图例?
最佳答案
我没有安装shapely
,但你可以尝试按照这些方式进行操作。您可以使用label
参数通过使用enumerate
跟踪多边形索引来标记图例。
plt.figure()
for i, poly in enumerate(polygons):
plt.plot(*poly.exterior.xy, label="Polygon %d"%i)
plt.legend()
plt.show()
关于python - 多个条目的 Matplotlib 图形图例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58751289/