我在Jupyter中有以下数组,用于从x轴绘制为垂直线。
array([6, 10, 18, 23, 29, 33, 50])
我正在使用pylab
和matplotlib
来做到这一点。
到目前为止,我已经在下面生成了以下代码:
mylist = array([6, 10, 18, 23, 29, 33, 50])
mylist
for i in mylist:
axvline(mylist[i])
但是,出现以下错误,并且只绘制了我的最后一个值:
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-106-37afa3c95407> in <module>
2 mylist
3 for i in mylist:
----> 4 axvline(mylist[i])
IndexError: index 10 is out of bounds for axis 0 with size 7
我正在努力了解如何解决该问题。
我在这里犯什么错误?
Photo showing graph being produced
由于是该站点的新用户,所以无法渲染问题中的图像。
答案 0 :(得分:1)
您错误地使用了索引。当您执行for i in mylist:
时,您将直接在元素上循环。因此,您无法使用mylist[i]
来访问元素,而是需要直接使用i
IndexError:索引10超出了大小为7的轴0的边界
当您访问第二个元素10
时,会发生上述错误。当i=10
用作mylist[10]
时会抛出错误,因为mylist
的长度是7,因为它有7个元素。
正确的方式:
for i in mylist:
plt.axvline(i)