Python 将NumPy数组的第一维解包到pyplot.plot中
我有五组x,y数据,我想在一个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]) 如何将第一个
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)