将NumPy数组的第一维解压缩到pyplot.plot

时间:2016-01-12 14:00:33

标签: python numpy matplotlib unpack

我有五组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的参数列表?

1 个答案:

答案 0 :(得分:2)

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转置块,以便第一个维度进入列。