2016-09-07 9 views
0

matplotlibに凡例を追加するように強制する方法に問題があります。Matplotlib多くのサブプロットのためのグローバルな凡例

私が現在持っている数字は次のようになります。 enter image description here

enter image description here

私は次のスクリプトを使用してこの2ページングプロットを生成:

n = 1 
trn = True 
for i in diff.keys(): 
    plt.subplot(8, 4, n) 
    plt.xlim([0, rounds + 1]) 
    plt.locator_params(axis='y', nbins=5) 
    if PEPTIDE_KD[i] == 1e-2: 
     plt.plot(x_cord, [x[0] for x in diff[i]], 'ro--', label='asd') 
     plt.plot(x_cord, [x[1] for x in diff[i]], 'rv--', label='bsd') 
    else: 
     plt.plot(x_cord, [x[0] for x in diff[i]], 'bo--', label='asd') 
     plt.plot(x_cord, [x[1] for x in diff[i]], 'bv--', label='csd') 
    plt.title(i) 
    n += 1 
    if n == 33 and trn: 
     n = 1 
     trn = False 
     plt.suptitle('Ligand energies') 
     plt.locator_params(axis='y', nbins=5) 
     plt.subplots_adjust(hspace=0.35) 
     plt.show() 

plt.legend(bbox_to_anchor=(-0.05, 1), loc=1) 
plt.locator_params(axis='y', nbins=5) 
plt.subplots_adjust(hspace=0.35) 
plt.show() 

を私は伝説を配置したいと思いますが最初のサブプロットの左側、または最初のサブプロットの右側に表示されます。

私はif line == 0 bla blaでこれを行うことができますが、問題は、最後のプロットには青いデータしか含まれていないので、青い凡例のみが表示されるということです。まったく同じ場所に完全な伝説(赤と青)を置いてみたいと思います。私は青と赤のプロットがあらかじめ配置される場所を知りません。

これは可能ですか?

答えて

関連する問題