我生成了两个包含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()
数组中的第二个元素将绘制。
答案 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
的文档