python - 多个条目的 Matplotlib 图形图例

标签 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)) 但没有成功。

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

如何添加图例?

最佳答案

我没有安装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/

相关文章:

Python:导入matplotlib但无法使用imshow

如果第一个或最后一个 y 值为 NaN/None,matplotlib 会弄乱 X 轴。这是正常的吗?

python - 比较元组列表中的几个元素

python - 使用 distutils 编译 :/usr/lib is added as a file to compile

python - 如何让输入识别其他类型的变量?

python - 如何在Python中正确下载股票数据

python - 更改线条颜色

c - 在 C 中将这些数据表示为矩阵形式

r - 根据 ggplot 中其他列中的值在 ggplot 中包含垂直线

R ggplot2 堆叠条形图按列值归一化