2016-08-14 44 views
3

我有兩個numpy數組(a和b),每個都有形狀(16,850)。我逐行顯示它們,例如與matplotlib按行排列數組

plt.figure() 
plt.plot(a[0], b[0]) 
plt.plot(a[1], b[1]) 
plt.plot(a[2], b[2]) 
... 
plt.show() 

我是否必須使用for循環以更pythonic的方式執行它?

回答

3

您可以將多維數組傳遞給plot,並且每列都將創建爲單獨的圖形對象。我們轉置這兩個輸入,以便它將分開繪製每一行。

a = np.random.rand(16, 850) 
b = np.random.rand(16, 850) 

plt.plot(a.T, b.T) 
plt.show() 
+0

Thanks @Suever。這有效,因爲我需要顯示16個地塊。這就是爲什麼我說「逐行」:) –

0

這將工作:

plt.figure() 
for i in range(len(a)): 
    plt.plot(a[i], b[i]) 
plt.show() 

但是Suever顯示的方式是非常Python化。但是,並不是每個函數都具有類似於內置的功能。