2016-08-14 43 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化。但是,并不是每个函数都具有类似于内置的功能。