如何使用matplotlib绘制数组中的特定点?

时间:2017-03-07 21:25:53

标签: python arrays numpy matplotlib

我生成了两个包含10个不同值的数组。如何使用matplotlib在每个数组中绘制3个特定值?到目前为止,这是我的代码:

import numpy as np
import matplotlib as plt
x = np.array(1,2,3,4,5,6,7,8,9,10)
y = np.array(1,2,3,4,5,6,7,8,9,10)

我只想绘制x阵列的点3,4,5及其对应的y值。我试过这个:

plt.plot(x[2,3,4], y[2,3,4])
plt.show()

但我得到错误“数组的索引太多了”。但是,如果我写

plt.plot(x[2], y[2])
plt.show()

数组中的第二个元素将绘制。

1 个答案:

答案 0 :(得分:0)

问题是x[3, 4, 5]的语法。你想要做的是x[3]x[4]x[5],它们是数组的相应元素。

print(x[3], x[4], x[5]) # print 4, 5, 6

更舒适的方法是:

plt.plot(x[2:5], y[2:5])
plt.show()

x[2:5]从第三个元素返回到第五个元素。

正如Tony Tannous所说,数组的创建也是错误的。 np.array需要一个列表!

然后你还必须改变x和y的创建:

x = np.array([1,2,3,4,5,6,7,8,9,10])
y = np.array([1,2,3,4,5,6,7,8,9,10])

添加[]以使其成为列表。

当然,您应该看到Indexing

的文档