我正在尝试遍历多个具有各自标签的地块。图例值取自列表“ 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")
答案 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")
其中给出以下内容: