繁体   English   中英

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

[英]How to plot specific points in array with 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()

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

问题是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])

添加[]使其成为列表。

当然你应该看到索引的文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM