将 NumPy 数组的第一维解包为 pyplot.plot

Unpacking first dimension of NumPy array into pyplot.plot

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

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)XY 中的每一列创建一个单独的图。因此,arr[:, 0]arr[:, 1] 提取 x 和 y 坐标块,.T 转置这些块,以便第一个维度进入列。