2017-01-12 13 views
0

同じ種類の3つのデータセットを3つの異なる線で1つの線グラフにグラフ表示しようとしています。すべてのデータセットは、同じxタイプ、「時間」および「タイプ」、「測定値」を共有します。ただし、各データセットの長さは、各データセット内のxタイプとyタイプの両方で異なります。 matplotlibを使用して3行の折れ線グラフを作成するにはどうすればよいですか?複数行線グラフmatplotlib

各データセットはcsvファイルから抽出され、リストの形で終わります。これは、各データセットのx成分とy成分の両方に適用されます。ここでデータを収集する方法は次のとおりです。

# Data Set 1 
with open('File1.csv', 'r') as f: 
    data_1 = list(reader(f)) 

measurement_1 = [i[3] for i in data_1[1::]] 
time_1 = [parser.parse(i[0]) for i in data_1[1::]] 

measurement_1, time_1 = zip(*[(i, j) for i, j in zip(measurement_1, time_1) if i !='']) 

measurement_1 = list(measurement_1) 
time_1 = list(time_1) 

# Data Set 2 
with open('File2.csv', 'r') as f: 
    data_2 = list(reader(f)) 

measurement_2 = [i[3] for i in data_2[1::]] 
time_2 = [parser.parse(i[0]) for i in data_2[1::]] 

measurement_2, time_2 = zip(*[(i, j) for i, j in zip(measurement_2, time_2) if i !='']) 

measurement_2 = list(measurement_2) 
time_2 = list(time_2) 

# Data Set 3 
with open('File3.csv', 'r') as f: 
    data_3 = list(reader(f)) 

measurement_3 = [i[3] for i in data_3[1::]] 
time_3 = [parser.parse(i[0]) for i in data_3[1::]] 

measurement_3, time_3 = zip(*[(i, j) for i, j in zip(measurement_3, time_3) if i !='']) 

measurement_3 = list(measurement_3) 
time_3 = list(time_3) 
+0

各データセットのxとyの値をプロットします: '' 'plt.plot(x1、y1、x2、y2、x3、y3)' ''。 – wwii

+0

@wwiiおかげさまで、データセットの長さがかなり違っていることを考えると、それほど些細なことではないと思っていました。しかし、それは完全に動作します。ありがとうございました! :) –

+0

http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.plot – wwii

答えて

0

ここでは参照データフレームを提供していないので、ここでは広いフレームワークがあります。

ax = df.plot() 
df2.plot(ax = ax) 
df3.plot(ax = ax) 

plt.show() 
関連する問題