2017-03-07 6 views
0

10個の異なる値を持つ2つの配列を生成しました。 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番目の要素がプロットされます。

+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'サブモジュールをインポートしたいと思う: 'import matplotlib.pyplot as 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() 

どこ5番目の要素への第三から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 –

関連する問題