2017-03-07 38 views
0

我生成了10個不同值的兩個數組。如何使用matplotlib在每個數組中繪製3個特定值?這是我到目前爲止的代碼:如何使用matplotlib繪製數組中的特定點?

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() 

數組中的第二個元素將繪製。

+2

嘗試的文件:'X = np.array(1,2,3,4,5,6,7,8,9,10)' - >'X = np.array([1,2,3,4,5,6,7,8,9,10])'y相同。而在劇情:'X [2:5],Y [2:5]' –

+0

我想你也想導入的'pyplot'子模塊:'進口matplotlib.pyplot爲plt'。 –

+0

非常感謝!如果我只想在每個數組中繪製3個不同的隨機元素,我該怎麼做?對於我的實際數據的元素是不能都是爲了從最小到最大 – astrogirl79

回答

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

+1

元素,你還有用'[]'在np.array包裝數組元素。 https://docs.scipy.org/doc/numpy/reference/generated/numpy.array.html –

相關問題