2017-06-10 8 views
0

3つの異なるベクトルセットのグラフを生成するコードを作成しました。
最初の対角線のラベルをlabel='Diagonal'と追加できますが、データをループにプロットして、各データセットのラベルを表示しようとすると、グラフに表示されます。最初のラベルのみが表示されます。凡例に複数のラベルを追加する方法(曲線ごとに1つずつ)

他のラベルも表示するにはどうすればよいですか?

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() 

答えて

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() 

enter image description here

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() 
関連する問題