0

私はMySQLデータベースからこの種のデータを読んでいます:

('c9', 2862, datetime.datetime(2016, 4, 30, 22, 34, 38))
('f2', 2862, datetime.datetime(2016, 4, 30, 22, 35, 38))
('f3', 2864, datetime.datetime(2016, 4, 30, 22, 36, 38))
('f4', 2863, datetime.datetime(2016, 4, 30, 22, 37, 38))
('c9', 2880, datetime.datetime(2016, 4, 30, 22, 38, 38))
('f2', 2862, datetime.datetime(2016, 4, 30, 22, 39, 38)) 
# and so on! 

pygalライブラリを使用して、列 1 (c9、f2、f3...) のすべてのノードをそれぞれの時間で 1 つのグラフに結合するグラフを作成したいと考えています。だから私は次のことを試しました:

time = []
y_c9 = []
y_f3 = []
y_f2 = []
for row in data:
   time.append(row[2])
   if row[0] == 'c9':
       y_c9.append(row[1])
   if row[0] == 'f2':
       y_f2.append(row[1])
   if row[0] == 'f3':
       y_f3.append(row[1])
   # and the same for the rest
   graph.x_labels = time
   graph.add('c9', y_c9)
   graph.add('f2', y_f2)
   graph.add('f3', y_f3

ただし、c9、f2、f3 の短い線が得られ、時間 (x 軸) はより長い値になるため、これではうまくいきません (y_c9、y_f2、y_f3 の長さは < 時間の長さです)。 if ステートメントの他の組み合わせをいくつか試しましたが、うまくいきませんでした。

適切なグラフを作成するにはどうすればよいですか?

4

1 に答える 1