Python 将NumPy数组的第一维解包到pyplot.plot中

Python 将NumPy数组的第一维解包到pyplot.plot中,python,numpy,matplotlib,unpack,Python,Numpy,Matplotlib,Unpack,我有五组x,y数据,我想在一个plt.plot()命令中绘制,方法是仅展开数组(形状(5,2500))的第一个维度。如果我尝试: plt.plot(*arr) 我得到了错误 ValueError: third arg must be a format string 但是如果我分别发送x,y对进行绘图,它会起作用。例如,对于三行: plt.plot(arr[0][0], arr[0][1], arr[1][0], arr[1][1], arr[2][0], arr[2][1]) 如何将第一个

我有五组x,y数据,我想在一个
plt.plot()
命令中绘制,方法是仅展开数组(形状
(5,2500)
)的第一个维度。如果我尝试:

plt.plot(*arr)
我得到了错误

ValueError: third arg must be a format string
但是如果我分别发送x,y对进行绘图,它会起作用。例如,对于三行:

plt.plot(arr[0][0], arr[0][1], arr[1][0], arr[1][1], arr[2][0], arr[2][1])
如何将第一个维度仅解压到
pt.plot
的参数列表中

plt.plot(*arr)
相当于

plt.plot(arr[0], arr[1], arr[2], arr[3], arr[4])
这就是它不起作用的原因

正如@M4rtini在他们的评论中所写,您可以进行
plt.plot(arr[:,0,:].T,arr[:,1,:].T)


plt.plot(X,Y)
X
Y
中的每列创建单独的绘图。因此,
arr[:,0]
arr[:,1]
提取x和y坐标的块,然后
.T
转换这些块,使第一维度进入列。

我现在没有时间写一个完整的答案。所以我把它添加到这里,也许其他人可以从中得到完整的答案。这似乎与您正在寻找的
plt.plot(arr[:,0,:]一样。T,arr[:,1,:].T)