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