Matplotlib图例用于多个条目

时间:2019-11-07 14:49:49

标签: python matplotlib plot

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

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)),但这没用。

多边形的数量是可变的,因此严格分配颜色是不可能的。

如何添加图例?

1 个答案:

答案 0 :(得分:1)

我没有安装label,但是您可以尝试以下方法。通过使用enumerate跟踪多边形索引,可以使用plt.figure() for i, poly in enumerate(polygons): plt.plot(*poly.exterior.xy, label="Polygon %d"%i) plt.legend() plt.show() 参数标记图例。

olr <- with(imputed, polr(target ~ var1+var2)) 
olrsummary <- summary(pool(olr))

> brant(olr)
Error in formula.default(model) : invalid formula
> brant(olrsummary)
Error in temp.data[, name] : incorrect number of dimensions