2016-10-16 7 views
3

(x,y)y = [[1,2,3],[4,5,6],[7,8,9]]とプロットしようとしています。リストのリストをPythonの同じグラフにプロットする

セイ、len(x) = len(y[1]) = len(y[2]) .. ユーザー入力によってyの長さが決まります。同じグラフにyの複数のプロットをプロットしたい、つまり(x, y[1],y[2],y[3],...)。ループを使ってみたとき、それはdimension errorと言います。

私も試してみました:plt.plot(x,y[i] for i in range(1,len(y)))

私はどのようにプロットしていますか?助けてください。

for i in range(1,len(y)): 
plt.plot(x,y[i],label = 'id %s'%i) 
plt.legend() 
plt.show() 
+1

あなたはplotコマンドでインデントエラーを持っています。また、範囲(0、...)の代わりに1. {range(1、...))からインデックスを開始しています。私はそれが意図的であると仮定しています。コードはそれにもかかわらず動作するはずです。あなたが直面しているエラーを教えてください。 –

+0

xの値は?どんなサンプル? –

+0

X = [1,2,3]。 @Nikhil私はプロット中に寸法誤差を取得しています – sivasudhan

答えて

3

xのサンプル値を前提とすると、以下のような出力が得られます。

import matplotlib.pyplot as plt 
x = [1,2,3] 
y = [[1,2,3],[4,5,6],[7,8,9]] 
plt.xlabel("X-axis") 
plt.ylabel("Y-axis") 
plt.title("A test graph") 
for i in range(len(y)): 
    plt.plot(x,[pt[i] for pt in y],label = 'id %s'%i) 
plt.legend() 
plt.show() 

仮定:xy内の任意の要素は、同じ長さです。 アイデアは以下

リスト (x,y[0]'s)を構築するように、要素ごとに読ん (x,y[1]'s)(x,y[n]'sされるが、私はこのような場合のために取得するプロットである: Sample plot

関連する問題