我正在从 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 ...)中的所有节点组合在一个图中,每个节点都有其各自的时间。所以我尝试了以下方法:
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 语句组合,但效果不佳。
我应该怎么做才能生成正确的图表?