2017-09-20 8 views
0

リスト分離の各項目からax.annotate私が定義されている改行でax.annotateによってサブプロットボックスでこれを印刷したい項目proteinlabelmatplotlibの:改行

proteinlabel = ['K{} - {}\nsum: {:.2e} mean: {:.2e}\n'.format(i+1, name, Harea.sum(), Harea.mean()) 
       for i, (name, Harea) in enumerate(zip(uniprot_label, prot_nHarea))] 

print proteinlabel 
OUT>> ['K1 - Albumin, Recombinant human\nsum: 1.00e+12 mean: 3.70e+06\n', 'K2 - Antithrombin III from plasma\nsum: 9.36e+11 mean: 5.20e+06\n', 'K3 - Annexin V from human placenta\nsum: 6.79e+11 mean: 6.85e+06\n'] 

のリストを作成しますが、リストがあります示されているOUT>>のように正確に印刷された場合、\nは改行としては機能しません。サブプロットボックスにax.annotate(またはその他のより良い方法)により改行によって分離し、リスト内の各項目を印刷する方法

ax2 = plt.subplot2grid((8, 10), (6, 0), rowspan=2, colspan=4) 
ax2.annotate(proteinlabel, xy=(0.5, 0.5)) 

enter image description here

? Like

K1 - Albumin, Recombinant human 
sum: 1.00e+12 mean: 3.70e+06 
K2 - Antithrombin III from plasma 
sum: 9.36e+11 mean: 5.20e+06 
K3 - Annexin V from human placenta 
sum: 6.79e+11 mean: 6.85e+06 

答えて

1

このリストは、テキスト自体ではなくテキストとして印刷されています。だから最初にリストを文字列にして、正しく解釈できるようにしてください。

ax2 = plt.subplot2grid((8, 10), (6, 0), rowspan=2, colspan=4) 
ax2.annotate("".join(proteinlabel) , xy=(0.5, 0.5))