我编写了一个代码来生成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()
答案 0 :(得分:2)
您在将其他线条添加到地块之前创建了图例。为了让图例包含图中的所有标记对象,请在脚本末尾创建图例。
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()
答案 1 :(得分:0)
我有搜索并尝试过这对我有用:
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()