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