使用数组中的值绘制垂直轴线

时间:2020-02-16 23:22:14

标签: python arrays matplotlib

我在Jupyter中有以下数组,用于从x轴绘制为垂直线。

array([6, 10, 18, 23, 29, 33, 50])

我正在使用pylabmatplotlib来做到这一点。

到目前为止,我已经在下面生成了以下代码:

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

由于是该站点的新用户,所以无法渲染问题中的图像。

1 个答案:

答案 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)