多个条目的Matplotlib图形图例

2024-04-26 22:52:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在绘图中绘制多个多边形:

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)),但没有成功

多边形的数量是可变的,因此严格指定颜色是不可能的

如何添加图例


Tags: fromimport绘图matplotlib颜色绘制plt多边形
1条回答
网友
1楼 · 发布于 2024-04-26 22:52:47

我没有安装shapely,但您可以尝试以下方法。通过使用enumerate跟踪多边形索引,可以使用label参数标记图例

plt.figure()

for i, poly in enumerate(polygons):
    plt.plot(*poly.exterior.xy, label="Polygon %d"%i)
plt.legend()
plt.show()

相关问题 更多 >