2017-10-07 52 views
0

的一列即將圖例項我繪製我的矩陣nH.T其中有4列。所以,我想使傳說,每一列都有從列表latent_prot2名稱。爲每個線圖從矩陣

latent_prot2 = np.array(["A","B","C","E"]) 

ax3 = plt.subplot2grid((3, 4), (2, 0), colspan=3, rowspan=1) 
ax3.plot(nH.T, label=[n for i,n in enumerate(latent_prot2)]) 
plt.legend() 

我得到的是爲每行打印的所有列表。

enter image description here

我試圖ax3.plot(nH.T, label=[n[i] for i,n in enumerate(latent_prot2)])或最後一行改爲plt.legend(label=latent_prot2)但他們沒有工作。如何寫從矩陣從列表傳說每列數據的名稱? 那將是很好的,如果我沒有通過的循環去,但我不知道這是可能的或沒有。

+0

哦,謝謝。我調換了,對不起。 – Jan

回答

1

使用label參數到plot您將得到每個繪製曲線的相同標籤。

要操作的傳說,你會元素列表傳遞給legend呼叫

ax.legend(labels=["A","B","C","E"]) 

完整的示例:

import matplotlib.pyplot as plt 
import numpy as np 

a = np.cumsum(np.cumsum(np.random.randn(15,4), axis=0), axis=1) 

lab = np.array(["A","B","C","E"]) 

fig, ax = plt.subplots() 
ax.plot(a) 
ax.legend(labels=lab) 

plt.show() 

enter image description here