gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 21:12:48 24 4
gpt4 key购买 nike

我正在尝试迭代多个图,每个图都有自己的标签。图例值取自列表“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")

最佳答案

在循环的每次迭代中,您需要使用 plt.plotlabel 属性,并且仅在循环调用 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")

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

from matplotlib import pyplot as plt
import numpy as np

iou=[0.2, 0.4, 0.6, 0.8]
precision = np.random.randint(0, 10, size=(4, 10))
fig, ax = plt.subplots(1, 1)
for i in range(0,4):
ax.plot(np.r_[:10], iou[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

关于python - 如何从列表中绘制多个图例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54933393/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com