我想从一个二维numpy数组中的一行绘制python中的一个列表。例如,我想使用matplotlib row'i'进行绘图,如下所示
|0 0 0 0 0|
|1 1 1 1 1|
i |2 2 2 2 2|
|. . . . .|
|n n n n n|
针对
[0, 100, 200, 300, 400]
目前我所拥有的是:
plt.plot(list1, 2dimArray[i])
但这不起作用。当我在1d列表中绘制1d列表时,我有这个功能工作,但我不得不去多维并选择numpy。
有没有这样做?
答案 0 :(得分:2)
使用下面评论中的数据,这对我有用:
In [1]: import numpy as np
In [2]: x = np.arange(0,1100,100)
In [3]: y = np.random.rand(6,11)
In [4]: i = 2
In [5]: plt.plot(x, y[i])
Out[5]: [<matplotlib.lines.Line2D at 0x1043cc790>]
问题是x
的{{1}}和y
参数必须具有相同的形状(或者至少要形成相同的第一个条目)。
plot
您的程序生成的某个项目可能实际具有您认为它的形状吗?
如果您将列表与numpy数组一起使用(In [6]: x.shape
Out[6]: (11,)
In [7]: y.shape
Out[7]: (6, 11)
In [8]: y[i].shape
Out[8]: (11,)
可能会将列表转换为数组),这也应该有效:
plt.plot