Python 如何在图例中添加多个标签,每条曲线一个标签

Python 如何在图例中添加多个标签,每条曲线一个标签,python,matplotlib,scipy,Python,Matplotlib,Scipy,我已经编写了一个代码来为3个不同的向量集生成一个图。 我可以将第一条对角线的标签添加为label='diagonal',但当我将数据绘制到循环中,并尝试表示每个数据集的标签时,它现在显示在图表上。只有第一个标签出现 如何显示其他标签 import numpy as np import pylab as pl pl.plot([0, 1], [0, 1], '--',label='AUC', lw=2) pl.xlim([-0.05, 1.05]) pl.ylim([-0.05, 1.05])

我已经编写了一个代码来为3个不同的向量集生成一个图。
我可以将第一条对角线的标签添加为
label='diagonal'
,但当我将数据绘制到循环中,并尝试表示每个数据集的标签时,它现在显示在图表上。只有第一个标签出现

如何显示其他标签

import numpy as np
import pylab as pl


pl.plot([0, 1], [0, 1], '--',label='AUC', lw=2)
pl.xlim([-0.05, 1.05])
pl.ylim([-0.05, 1.05])
pl.xlabel('FP Rate',fontsize=22)
pl.tick_params(axis='x', labelsize=22)
pl.tick_params(axis='y', labelsize=22)
pl.ylabel('TP Rate',fontsize=22)
pl.legend(loc="lower right")
pl.axis('tight')



n = ("data_1", "data_2", "data_3", "data_4")
for x, i in enumerate(range(0,3)):

    sampl_1 = sorted(np.random.uniform(low=0, high=1.0, size=(20,)))
    sampl_2 = sorted(np.random.uniform(low=0, high=1.0, size=(20,)))
    pl.plot(sampl_1, sampl_2, '-', label=n[x], lw=2)

pl.show()

在将其他线添加到绘图之前,您将创建图例。为了使图例包含绘图中所有标记的对象,请在脚本末尾创建图例

import numpy as np
import pylab as plt

plt.plot([0, 1], [0, 1], '--',label='AUC', lw=2)
plt.xlabel('FP Rate')
plt.ylabel('TP Rate')
plt.axis('tight')

n = ("data_1", "data_2", "data_3", "data_4")
for x, i in enumerate(range(0,3)):

    sampl_1 = sorted(np.random.uniform(low=0, high=1.0, size=(20,)))
    sampl_2 = sorted(np.random.uniform(low=0, high=1.0, size=(20,)))
    plt.plot(sampl_1, sampl_2, '-', label=n[x], lw=2)

plt.legend(loc="lower right")
plt.show()

在将附加线添加到绘图之前,您正在创建图例。为了使图例包含绘图中所有标记的对象,请在脚本末尾创建图例

import numpy as np
import pylab as plt

plt.plot([0, 1], [0, 1], '--',label='AUC', lw=2)
plt.xlabel('FP Rate')
plt.ylabel('TP Rate')
plt.axis('tight')

n = ("data_1", "data_2", "data_3", "data_4")
for x, i in enumerate(range(0,3)):

    sampl_1 = sorted(np.random.uniform(low=0, high=1.0, size=(20,)))
    sampl_2 = sorted(np.random.uniform(low=0, high=1.0, size=(20,)))
    plt.plot(sampl_1, sampl_2, '-', label=n[x], lw=2)

plt.legend(loc="lower right")
plt.show()

我已经搜索并试用过这对我有用:

import numpy as np
import pylab as pl


pl.plot([0, 1], [0, 1], '--',label='Diagonal', lw=2)
pl.xlim([-0.05, 1.05])
pl.ylim([-0.05, 1.05])
pl.xlabel('FP Rate',fontsize=22)
pl.tick_params(axis='x', labelsize=22)
pl.tick_params(axis='y', labelsize=22)
pl.ylabel('TP Rate',fontsize=22)
pl.legend(loc="lower right")
pl.axis('tight')



n = ["data_1", "data_2", "data_3", "data_4"]
for x, i in enumerate(range(0,3)):

    sampl_1 = sorted(np.random.uniform(low=0, high=1.0, size=(20,)))
    sampl_2 = sorted(np.random.uniform(low=0, high=1.0, size=(20,)))
    pl.plot(sampl_1, sampl_2, '-', label=n[x], lw=2)
pl.legend()
pl.show()
pl.close()

我已经搜索并试用了这一功能:

import numpy as np
import pylab as pl


pl.plot([0, 1], [0, 1], '--',label='Diagonal', lw=2)
pl.xlim([-0.05, 1.05])
pl.ylim([-0.05, 1.05])
pl.xlabel('FP Rate',fontsize=22)
pl.tick_params(axis='x', labelsize=22)
pl.tick_params(axis='y', labelsize=22)
pl.ylabel('TP Rate',fontsize=22)
pl.legend(loc="lower right")
pl.axis('tight')



n = ["data_1", "data_2", "data_3", "data_4"]
for x, i in enumerate(range(0,3)):

    sampl_1 = sorted(np.random.uniform(low=0, high=1.0, size=(20,)))
    sampl_2 = sorted(np.random.uniform(low=0, high=1.0, size=(20,)))
    pl.plot(sampl_1, sampl_2, '-', label=n[x], lw=2)
pl.legend()
pl.show()
pl.close()