我的真实数据有数千个数据点,因此我目前正在使用一个小数组来测试。
我试图摆脱y轴数据中的零点,并根据x轴数据中的相关指数绘制非零值。我可以看到我在新阵列中得到了正确的数字,但我的图表是空白的。
我的数组输出打印:
[array([ 1, 6, 54, 4, 2, 3, 8])]
[array([ 1, 3, 4, 5, 6, 9, 11])]
如果我绘制原始数据,它是有效的(工作点是全部用线连接)。另外如果我添加'。'对于绘图命令,我得到了点所在的点,但我无法将数据点连接起来。我想这可能是因为我的新x轴数据不连续,但我不确定。
y1 = np.array([1,0,6,54,4,2,0,0,3,0,8])
x1 = np.array([1,2,3,4,5,6,7,8,9,10,11])
yind = y1.nonzero()
y2 = []
x2 = []
for el in yind:
y2.append(y1[el])
x2.append(x1[el])
print y2
print x2
pl.plot(x2,y2)
pl.show()
答案 0 :(得分:1)
基本上你需要这样做:
plt.plot(x2[0],y2[0])
因为
>>> x2
[array([ 1, 3, 4, 5, 6, 9, 11])]
>>> y2
[array([ 1, 6, 54, 4, 2, 3, 8])]
当您看到Type
和x2
的{{1}}时,您会看到:
y2
但>>> type(y2)
<class 'list'>
和x2[0]
是您要绘制的数组:
y2[0]