如何从列表中绘制多个图例

时间:2019-02-28 20:02:48

标签: python matplotlib

我正在尝试遍历多个具有各自标签的地块。图例值取自列表“ iou”。下面的代码只为iou = 0.2生成1个标签。任何帮助表示赞赏。

iou=[0.2, 0.4, 0.6, 0.8]
from matplotlib import pyplot as plt
fig = plt.figure()
for i in range(0,4):
    p=plt.plot(recall[i], precision[i], marker='+')
    plt.legend(p, iou)
plt.title("PR curves")
plt.xlabel("Recall")
plt.ylabel("Precision")

1 个答案:

答案 0 :(得分:0)

在循环的每次迭代中,仅在​​循环调用label后才需要使用plt.plot的{​​{1}}属性

plt.legend

一个最小的工作示例如下:

from matplotlib import pyplot as plt

iou=[0.2, 0.4, 0.6, 0.8]
fig, ax = plt.subplots(1, 1)
for i in range(0,4):
    ax.plot(recall[i], precision[i], marker='+', label=iou[i])

fig.legend()
ax.set_title("PR curves")
ax.set_xlabel("Recall")
ax.set_ylabel("Precision")

其中给出以下内容:

enter image description here