我有一个字典,用于根据来自数据库的数据构建图表。 我有以下工作代码:
datasets = []
for row in data:
# add serie if not exists already
if not any(d['label'] == row['sql_id'] for d in datasets):
serie = {'label':row['sql_id'],'backgroundColor':GetRandomHexColor(),'data':[]}
datasets.append(serie)
serie = next(item for item in datasets if item['label'] == row['sql_id'])
serie['data'].append({'x': row['sample_time'],'y':row['resources_consumed']})
这构建了这种形式的词典:
{
"datasets": [{
"data": [{
"y": 3,
"x": "2017-12-22 16:01"
}, {
"y": 23,
"x": "2017-12-22 16:02"
}, {
"y": 33,
"x": "2017-12-22 16:03"
}, {
"y": 12,
"x": "2017-12-22 16:04"
}, {
"y": 5,
"x": "2017-12-22 16:05"
}, {
"y": 13,
"x": "2017-12-22 16:06"
}, {
"y": 17,
"x": "2017-12-22 16:11"
}, {
"y": 24,
"x": "2017-12-22 16:12"
}, {
"y": 12,
"x": "2017-12-22 16:13"
}, {
"y": 9,
"x": "2017-12-22 16:14"
}, {
"y": 10,
"x": "2017-12-22 16:15"
}, {
"y": 24,
"x": "2017-12-22 16:16"
}, {
"y": 28,
"x": "2017-12-22 16:17"
}, {
"y": 4,
"x": "2017-12-22 16:18"
}, {
"y": 18,
"x": "2017-12-22 16:19"
}, {
"y": 25,
"x": "2017-12-22 16:20"
}, {
"y": 25,
"x": "2017-12-22 16:21"
}, {
"y": 14,
"x": "2017-12-22 16:22"
}, {
"y": 10,
"x": "2017-12-22 16:23"
}, {
"y": 9,
"x": "2017-12-22 16:24"
}],
"backgroundColor": "#01F79A",
"label": "3qkhfbf2kyvhk"
}, {
"data": [{
"y": 3,
"x": "2017-12-22 16:01"
}, {
"y": 14,
"x": "2017-12-22 16:02"
}, {
"y": 12,
"x": "2017-12-22 16:03"
}, {
"y": 9,
"x": "2017-12-22 16:04"
}, {
"y": 7,
"x": "2017-12-22 16:05"
}, {
"y": 20,
"x": "2017-12-22 16:06"
}, {
"y": 2,
"x": "2017-12-22 16:10"
}, {
"y": 16,
"x": "2017-12-22 16:11"
}, {
"y": 10,
"x": "2017-12-22 16:12"
}, {
"y": 11,
"x": "2017-12-22 16:13"
}, {
"y": 9,
"x": "2017-12-22 16:14"
}, {
"y": 15,
"x": "2017-12-22 16:15"
}, {
"y": 13,
"x": "2017-12-22 16:16"
}, {
"y": 8,
"x": "2017-12-22 16:17"
}, {
"y": 8,
"x": "2017-12-22 16:18"
}, {
"y": 12,
"x": "2017-12-22 16:19"
}, {
"y": 14,
"x": "2017-12-22 16:20"
}, {
"y": 13,
"x": "2017-12-22 16:21"
}, {
"y": 12,
"x": "2017-12-22 16:22"
}, {
"y": 9,
"x": "2017-12-22 16:23"
}, {
"y": 8,
"x": "2017-12-22 16:24"
}],
"backgroundColor": "#743967",
"label": "8u125dk9nfc0q"
}, {
"data": [{
"y": 1,
"x": "2017-12-22 16:02"
}, {
"y": 1,
"x": "2017-12-22 16:03"
}, {
"y": 1,
"x": "2017-12-22 16:04"
}, {
"y": 2,
"x": "2017-12-22 16:11"
}, {
"y": 1,
"x": "2017-12-22 16:12"
}, {
"y": 2,
"x": "2017-12-22 16:15"
}, {
"y": 2,
"x": "2017-12-22 16:16"
}, {
"y": 1,
"x": "2017-12-22 16:17"
}, {
"y": 2,
"x": "2017-12-22 16:19"
}, {
"y": 1,
"x": "2017-12-22 16:20"
}, {
"y": 1,
"x": "2017-12-22 16:22"
}, {
"y": 1,
"x": "2017-12-22 16:24"
}],
"backgroundColor": "#CA3582",
"label": "b9nbhsbx8tqz5"
}, {
"data": [{
"y": 1,
"x": "2017-12-22 16:02"
}, {
"y": 1,
"x": "2017-12-22 16:04"
}, {
"y": 2,
"x": "2017-12-22 16:11"
}, {
"y": 1,
"x": "2017-12-22 16:12"
}, {
"y": 1,
"x": "2017-12-22 16:14"
}, {
"y": 2,
"x": "2017-12-22 16:15"
}, {
"y": 1,
"x": "2017-12-22 16:19"
}, {
"y": 2,
"x": "2017-12-22 16:20"
}, {
"y": 1,
"x": "2017-12-22 16:22"
}, {
"y": 1,
"x": "2017-12-22 16:24"
}],
"backgroundColor": "#8697A2",
"label": "dp0vgyb1hsfjb"
}, {
"data": [{
"y": 5,
"x": "2017-12-22 16:04"
}, {
"y": 4,
"x": "2017-12-22 16:05"
}, {
"y": 8,
"x": "2017-12-22 16:13"
}, {
"y": 1,
"x": "2017-12-22 16:14"
}, {
"y": 9,
"x": "2017-12-22 16:18"
}, {
"y": 8,
"x": "2017-12-22 16:22"
}, {
"y": 1,
"x": "2017-12-22 16:23"
}],
"backgroundColor": "#034D27",
"label": "7726bj0dhtnmt"
}, {
"data": [{
"y": 12,
"x": "2017-12-22 16:04"
}, {
"y": 12,
"x": "2017-12-22 16:13"
}, {
"y": 12,
"x": "2017-12-22 16:18"
}, {
"y": 10,
"x": "2017-12-22 16:22"
}],
"backgroundColor": "#B3FDF5",
"label": "cmx7t67z8wa74"
}, {
"data": [{
"y": 2,
"x": "2017-12-22 16:04"
}, {
"y": 1,
"x": "2017-12-22 16:05"
}, {
"y": 4,
"x": "2017-12-22 16:12"
}, {
"y": 1,
"x": "2017-12-22 16:15"
}, {
"y": 1,
"x": "2017-12-22 16:17"
}, {
"y": 1,
"x": "2017-12-22 16:22"
}, {
"y": 2,
"x": "2017-12-22 16:24"
}],
"backgroundColor": "#3A74FB",
"label": "ft7wcqu3hzvca"
}, {
"data": [{
"y": 7,
"x": "2017-12-22 16:05"
}, {
"y": 6,
"x": "2017-12-22 16:14"
}, {
"y": 6,
"x": "2017-12-22 16:18"
}, {
"y": 6,
"x": "2017-12-22 16:23"
}],
"backgroundColor": "#9733FC",
"label": "7mwz4m103nn1k"
}, {
"data": [{
"y": 8,
"x": "2017-12-22 16:05"
}, {
"y": 9,
"x": "2017-12-22 16:14"
}, {
"y": 8,
"x": "2017-12-22 16:18"
}, {
"y": 12,
"x": "2017-12-22 16:23"
}],
"backgroundColor": "#383B19",
"label": "9nrjf616y6g22"
}]
}
问题是我需要添加缺少的时间序列,以防它们在每个数据列表中不存在。
如果系列1是日期“2017-12-22 16:23”,则每个其他系列需要具有或不具有值的日期。如果数组中不存在该值,那么我需要为y
添加0值。
我不知道如何在不进行大量嵌套for
循环的情况下有效地做到这一点。
修改
目前我有类似的东西:
{
"datasets": [{
"data": [{
"y": 3,
"x": "2017-12-22 16:01"
}, {
"y": 23,
"x": "2017-12-22 16:02"
}, {
"y": 33,
"x": "2017-12-22 16:03"
}, {
"y": 12,
"x": "2017-12-22 16:04"
}, {
"y": 5,
"x": "2017-12-22 16:05"
}],
"backgroundColor": "#01F79A",
"label": "3qkhfbf2kyvhk"
}, {
"data": [{
"y": 9,
"x": "2017-12-22 16:04"
}, {
"y": 7,
"x": "2017-12-22 16:05"
}, {
"y": 20,
"x": "2017-12-22 16:06"
}, {
"y": 2,
"x": "2017-12-22 16:10"
}, {
"y": 16,
"x": "2017-12-22 16:11"
}],
"backgroundColor": "#743967",
"label": "8u125dk9nfc0q"
}]
}
我想要的是:
{
"datasets": [{
"data": [{
"y": 3,
"x": "2017-12-22 16:01"
}, {
"y": 23,
"x": "2017-12-22 16:02"
}, {
"y": 33,
"x": "2017-12-22 16:03"
}, {
"y": 12,
"x": "2017-12-22 16:04"
}, {
"y": 5,
"x": "2017-12-22 16:05"
},{
"y": 0,
"x": "2017-12-22 16:06"
}, {
"y": 0,
"x": "2017-12-22 16:10"
}, {
"y": 0,
"x": "2017-12-22 16:11"
}],
"backgroundColor": "#01F79A",
"label": "3qkhfbf2kyvhk"
}, {
"data": [{
"y": 0,
"x": "2017-12-22 16:01"
}, {
"y": 0,
"x": "2017-12-22 16:02"
}, {
"y": 0,
"x": "2017-12-22 16:03"
},{
"y": 9,
"x": "2017-12-22 16:04"
}, {
"y": 7,
"x": "2017-12-22 16:05"
}, {
"y": 20,
"x": "2017-12-22 16:06"
}, {
"y": 2,
"x": "2017-12-22 16:10"
}, {
"y": 16,
"x": "2017-12-22 16:11"
}],
"backgroundColor": "#743967",
"label": "8u125dk9nfc0q"
}]
}
每个系列必须存在每个不同的时间戳。如果系列中不存在时间戳,我必须使用0 y值添加它。
以下是我从数据库中获取的初始数据:
查询:
cursor.execute('SELECT strftime(\'%%Y-%%m-%%d %%H:%%M\',s.sample_time) as sample_time,\n'
' id,\n'
' dbid,\n'
' sql_id,\n'
' sql_plan_hash_value,\n'
' sid,\n'
' serial,\n'
' count(sql_id) as resources_consumed\n'
'FROM sash s\n'
'where sql_id in (select sql_id from (\n'
' select\n'
' id,\n'
' dbid,\n'
' SQL_ID ,\n'
' sql_plan_hash_value,\n'
' sid,\n'
' serial,\n'
' count(*) as resources_consumed\n'
' from sash\n'
' where sid = %s \n'
' and serial = %s \n'
' and dbid = %s \n'
' group by sql_id,sql_plan_hash_value,sid,serial,dbid\n'
' order by resources_consumed desc LIMIT 10)\n'
' )\n'
'and sample_time between datetime(\'now\',\'localtime\',\'-60 minutes\') and datetime(\'now\',\'localtime\') \n'
'and sid= %s \n'
'and serial= %s \n'
'group by strftime(\'%%Y-%%m-%%d %%H:%%M\',s.sample_time),sql_id,sql_plan_hash_value,sid,serial,dbid\n'
'order by strftime(\'%%Y-%%m-%%d %%H:%%M\',s.sample_time)', [sid, serial, dbid, sid, serial])
输出:
[{
'sql_id': u'3qkhfbf2kyvhk',
'sql_plan_hash_value': 2234478098L,
'sample_time': u'2017-12-23 10:41',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59389,
'resources_consumed': 1
}, {
'sql_id': u'ft7wcqu3hzvca',
'sql_plan_hash_value': 2265968010L,
'sample_time': u'2017-12-23 10:41',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59395,
'resources_consumed': 2
}, {
'sql_id': u'0m9b1dywgrdqj',
'sql_plan_hash_value': 3103504081L,
'sample_time': u'2017-12-23 10:42',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59469,
'resources_consumed': 1
}, {
'sql_id': u'3qkhfbf2kyvhk',
'sql_plan_hash_value': 2234478098L,
'sample_time': u'2017-12-23 10:42',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59511,
'resources_consumed': 17
}, {
'sql_id': u'50kcsz2gh1w84',
'sql_plan_hash_value': 2667639044L,
'sample_time': u'2017-12-23 10:42',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59421,
'resources_consumed': 1
}, {
'sql_id': u'8u125dk9nfc0q',
'sql_plan_hash_value': 2470916118L,
'sample_time': u'2017-12-23 10:42',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59503,
'resources_consumed': 8
}, {
'sql_id': u'dp0vgyb1hsfjb',
'sql_plan_hash_value': 3272358443L,
'sample_time': u'2017-12-23 10:42',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59454,
'resources_consumed': 1
}, {
'sql_id': u'ft7wcqu3hzvca',
'sql_plan_hash_value': 2265968010L,
'sample_time': u'2017-12-23 10:42',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59510,
'resources_consumed': 8
}, {
'sql_id': u'1xc91cuvu7j11',
'sql_plan_hash_value': 3080963105L,
'sample_time': u'2017-12-23 10:43',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59555,
'resources_consumed': 3
}, {
'sql_id': u'3qkhfbf2kyvhk',
'sql_plan_hash_value': 2234478098L,
'sample_time': u'2017-12-23 10:43',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59577,
'resources_consumed': 26
}, {
'sql_id': u'50kcsz2gh1w84',
'sql_plan_hash_value': 2667639044L,
'sample_time': u'2017-12-23 10:43',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59532,
'resources_consumed': 1
}, {
'sql_id': u'8u125dk9nfc0q',
'sql_plan_hash_value': 2470916118L,
'sample_time': u'2017-12-23 10:43',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59578,
'resources_consumed': 8
}, {
'sql_id': u'ft7wcqu3hzvca',
'sql_plan_hash_value': 2265968010L,
'sample_time': u'2017-12-23 10:43',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59565,
'resources_consumed': 3
}, {
'sql_id': u'3qkhfbf2kyvhk',
'sql_plan_hash_value': 2234478098L,
'sample_time': u'2017-12-23 10:44',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59644,
'resources_consumed': 17
}, {
'sql_id': u'50kcsz2gh1w84',
'sql_plan_hash_value': 2667639044L,
'sample_time': u'2017-12-23 10:44',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59623,
'resources_consumed': 1
}, {
'sql_id': u'8u125dk9nfc0q',
'sql_plan_hash_value': 2470916118L,
'sample_time': u'2017-12-23 10:44',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59642,
'resources_consumed': 11
}, {
'sql_id': u'dp0vgyb1hsfjb',
'sql_plan_hash_value': 3272358443L,
'sample_time': u'2017-12-23 10:44',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59614,
'resources_consumed': 2
}, {
'sql_id': u'ft7wcqu3hzvca',
'sql_plan_hash_value': 2265968010L,
'sample_time': u'2017-12-23 10:44',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59648,
'resources_consumed': 3
}, {
'sql_id': u'3qkhfbf2kyvhk',
'sql_plan_hash_value': 2234478098L,
'sample_time': u'2017-12-23 10:45',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59665,
'resources_consumed': 3
}, {
'sql_id': u'50kcsz2gh1w84',
'sql_plan_hash_value': 2667639044L,
'sample_time': u'2017-12-23 10:45',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59649,
'resources_consumed': 1
}, {
'sql_id': u'7726bj0dhtnmt',
'sql_plan_hash_value': 453825145,
'sample_time': u'2017-12-23 10:45',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59718,
'resources_consumed': 11
}, {
'sql_id': u'8u125dk9nfc0q',
'sql_plan_hash_value': 2470916118L,
'sample_time': u'2017-12-23 10:45',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59707,
'resources_consumed': 13
}, {
'sql_id': u'cmx7t67z8wa74',
'sql_plan_hash_value': 4270729444L,
'sample_time': u'2017-12-23 10:45',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59705,
'resources_consumed': 19
}, {
'sql_id': u'0m9b1dywgrdqj',
'sql_plan_hash_value': 3103504081L,
'sample_time': u'2017-12-23 10:47',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59765,
'resources_consumed': 2
}, {
'sql_id': u'3qkhfbf2kyvhk',
'sql_plan_hash_value': 2234478098L,
'sample_time': u'2017-12-23 10:47',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59768,
'resources_consumed': 10
}, {
'sql_id': u'50kcsz2gh1w84',
'sql_plan_hash_value': 2667639044L,
'sample_time': u'2017-12-23 10:47',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59770,
'resources_consumed': 1
}, {
'sql_id': u'8u125dk9nfc0q',
'sql_plan_hash_value': 2470916118L,
'sample_time': u'2017-12-23 10:47',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59764,
'resources_consumed': 11
}, {
'sql_id': u'dp0vgyb1hsfjb',
'sql_plan_hash_value': 3272358443L,
'sample_time': u'2017-12-23 10:47',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59754,
'resources_consumed': 1
}, {
'sql_id': u'3qkhfbf2kyvhk',
'sql_plan_hash_value': 2234478098L,
'sample_time': u'2017-12-23 10:48',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59779,
'resources_consumed': 4
}, {
'sql_id': u'8u125dk9nfc0q',
'sql_plan_hash_value': 2470916118L,
'sample_time': u'2017-12-23 10:48',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59788,
'resources_consumed': 5
}, {
'sql_id': u'ft7wcqu3hzvca',
'sql_plan_hash_value': 2265968010L,
'sample_time': u'2017-12-23 10:48',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59789,
'resources_consumed': 1
}]
答案 0 :(得分:0)
这是 Python 2 的一些内容,可以实现我想要的功能。我留下了一些print()
调用它,其中显示了内部构建和使用的几个重要数据结构的内容。看看它们中的内容应该更容易理解它是如何工作的。
from __future__ import print_function
from collections import defaultdict
from pprint import pformat
from random import randint
from series import data
def indent(text, amount, char=' '):
""" Indent each line of text by indicated number of characters. """
padding = amount * char
return ''.join(padding+line for line in text.splitlines(True))
def GetRandomHexColor():
return '#{:06X}'.format(randint(0, 0xffffff))
# Extract the needed information from data grouped so that the sample times
# are grouped together by sql_id.
timestamps = defaultdict(dict)
for row in data:
timestamps[row['sql_id']][row['sample_time']] = row['resources_consumed']
print('timestamps:')
print(indent(pformat(dict(timestamps)), 4))
# Create a sorted list of all the unique timestamps that exist.
master_series = sorted(set(stamp for stamps in timestamps.values()
for stamp in stamps))
print()
print('master_series:')
print(indent(pformat(master_series), 4))
# Create list of entries where each has a sublist that consists of values for
# every timestamp in the master_series.
datasets = [{'label': sql_id,
'backgroundColor': GetRandomHexColor(),
'data': [{'y': timestamps[sql_id][stamp]
if stamp in timestamps[sql_id] else 0,
'x': stamp} for stamp in master_series]
} for sql_id in sorted(timestamps)]
print()
print('datasets:')
print(indent(pformat(datasets), 4))
输出:
timestamps:
{u'0m9b1dywgrdqj': {u'2017-12-23 10:42': 1, u'2017-12-23 10:47': 2},
u'1xc91cuvu7j11': {u'2017-12-23 10:43': 3},
u'3qkhfbf2kyvhk': {u'2017-12-23 10:41': 1,
u'2017-12-23 10:42': 17,
u'2017-12-23 10:43': 26,
u'2017-12-23 10:44': 17,
u'2017-12-23 10:45': 3,
u'2017-12-23 10:47': 10,
u'2017-12-23 10:48': 4},
u'50kcsz2gh1w84': {u'2017-12-23 10:42': 1,
u'2017-12-23 10:43': 1,
u'2017-12-23 10:44': 1,
u'2017-12-23 10:45': 1,
u'2017-12-23 10:47': 1},
u'7726bj0dhtnmt': {u'2017-12-23 10:45': 11},
u'8u125dk9nfc0q': {u'2017-12-23 10:42': 8,
u'2017-12-23 10:43': 8,
u'2017-12-23 10:44': 11,
u'2017-12-23 10:45': 13,
u'2017-12-23 10:47': 11,
u'2017-12-23 10:48': 5},
u'cmx7t67z8wa74': {u'2017-12-23 10:45': 19},
u'dp0vgyb1hsfjb': {u'2017-12-23 10:42': 1,
u'2017-12-23 10:44': 2,
u'2017-12-23 10:47': 1},
u'ft7wcqu3hzvca': {u'2017-12-23 10:41': 2,
u'2017-12-23 10:42': 8,
u'2017-12-23 10:43': 3,
u'2017-12-23 10:44': 3,
u'2017-12-23 10:48': 1}}
master_series:
[u'2017-12-23 10:41',
u'2017-12-23 10:42',
u'2017-12-23 10:43',
u'2017-12-23 10:44',
u'2017-12-23 10:45',
u'2017-12-23 10:47',
u'2017-12-23 10:48']
datasets:
[{'backgroundColor': '#BBF2C0',
'data': [{'x': u'2017-12-23 10:41', 'y': 0},
{'x': u'2017-12-23 10:42', 'y': 1},
{'x': u'2017-12-23 10:43', 'y': 0},
{'x': u'2017-12-23 10:44', 'y': 0},
{'x': u'2017-12-23 10:45', 'y': 0},
{'x': u'2017-12-23 10:47', 'y': 2},
{'x': u'2017-12-23 10:48', 'y': 0}],
'label': u'0m9b1dywgrdqj'},
{'backgroundColor': '#09BC4F',
'data': [{'x': u'2017-12-23 10:41', 'y': 0},
{'x': u'2017-12-23 10:42', 'y': 0},
{'x': u'2017-12-23 10:43', 'y': 3},
{'x': u'2017-12-23 10:44', 'y': 0},
{'x': u'2017-12-23 10:45', 'y': 0},
{'x': u'2017-12-23 10:47', 'y': 0},
{'x': u'2017-12-23 10:48', 'y': 0}],
'label': u'1xc91cuvu7j11'},
{'backgroundColor': '#19F805',
'data': [{'x': u'2017-12-23 10:41', 'y': 1},
{'x': u'2017-12-23 10:42', 'y': 17},
{'x': u'2017-12-23 10:43', 'y': 26},
{'x': u'2017-12-23 10:44', 'y': 17},
{'x': u'2017-12-23 10:45', 'y': 3},
{'x': u'2017-12-23 10:47', 'y': 10},
{'x': u'2017-12-23 10:48', 'y': 4}],
'label': u'3qkhfbf2kyvhk'},
{'backgroundColor': '#A85778',
'data': [{'x': u'2017-12-23 10:41', 'y': 0},
{'x': u'2017-12-23 10:42', 'y': 1},
{'x': u'2017-12-23 10:43', 'y': 1},
{'x': u'2017-12-23 10:44', 'y': 1},
{'x': u'2017-12-23 10:45', 'y': 1},
{'x': u'2017-12-23 10:47', 'y': 1},
{'x': u'2017-12-23 10:48', 'y': 0}],
'label': u'50kcsz2gh1w84'},
{'backgroundColor': '#9FEC4A',
'data': [{'x': u'2017-12-23 10:41', 'y': 0},
{'x': u'2017-12-23 10:42', 'y': 0},
{'x': u'2017-12-23 10:43', 'y': 0},
{'x': u'2017-12-23 10:44', 'y': 0},
{'x': u'2017-12-23 10:45', 'y': 11},
{'x': u'2017-12-23 10:47', 'y': 0},
{'x': u'2017-12-23 10:48', 'y': 0}],
'label': u'7726bj0dhtnmt'},
{'backgroundColor': '#4FBF10',
'data': [{'x': u'2017-12-23 10:41', 'y': 0},
{'x': u'2017-12-23 10:42', 'y': 8},
{'x': u'2017-12-23 10:43', 'y': 8},
{'x': u'2017-12-23 10:44', 'y': 11},
{'x': u'2017-12-23 10:45', 'y': 13},
{'x': u'2017-12-23 10:47', 'y': 11},
{'x': u'2017-12-23 10:48', 'y': 5}],
'label': u'8u125dk9nfc0q'},
{'backgroundColor': '#ED6D56',
'data': [{'x': u'2017-12-23 10:41', 'y': 0},
{'x': u'2017-12-23 10:42', 'y': 0},
{'x': u'2017-12-23 10:43', 'y': 0},
{'x': u'2017-12-23 10:44', 'y': 0},
{'x': u'2017-12-23 10:45', 'y': 19},
{'x': u'2017-12-23 10:47', 'y': 0},
{'x': u'2017-12-23 10:48', 'y': 0}],
'label': u'cmx7t67z8wa74'},
{'backgroundColor': '#8E3D97',
'data': [{'x': u'2017-12-23 10:41', 'y': 0},
{'x': u'2017-12-23 10:42', 'y': 1},
{'x': u'2017-12-23 10:43', 'y': 0},
{'x': u'2017-12-23 10:44', 'y': 2},
{'x': u'2017-12-23 10:45', 'y': 0},
{'x': u'2017-12-23 10:47', 'y': 1},
{'x': u'2017-12-23 10:48', 'y': 0}],
'label': u'dp0vgyb1hsfjb'},
{'backgroundColor': '#1FC7DC',
'data': [{'x': u'2017-12-23 10:41', 'y': 2},
{'x': u'2017-12-23 10:42', 'y': 8},
{'x': u'2017-12-23 10:43', 'y': 3},
{'x': u'2017-12-23 10:44', 'y': 3},
{'x': u'2017-12-23 10:45', 'y': 0},
{'x': u'2017-12-23 10:47', 'y': 0},
{'x': u'2017-12-23 10:48', 'y': 1}],
'label': u'ft7wcqu3hzvca'}]
这是series.py
编辑的import
模块。它所做的就是定义您现在在问题中的样本数据列表:
""" Define data from database. """
data = [
{
'sql_id': u'3qkhfbf2kyvhk',
'sql_plan_hash_value': 2234478098L,
'sample_time': u'2017-12-23 10:41',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59389,
'resources_consumed': 1
}, {
'sql_id': u'ft7wcqu3hzvca',
'sql_plan_hash_value': 2265968010L,
'sample_time': u'2017-12-23 10:41',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59395,
'resources_consumed': 2
}, {
'sql_id': u'0m9b1dywgrdqj',
'sql_plan_hash_value': 3103504081L,
'sample_time': u'2017-12-23 10:42',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59469,
'resources_consumed': 1
}, {
'sql_id': u'3qkhfbf2kyvhk',
'sql_plan_hash_value': 2234478098L,
'sample_time': u'2017-12-23 10:42',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59511,
'resources_consumed': 17
}, {
'sql_id': u'50kcsz2gh1w84',
'sql_plan_hash_value': 2667639044L,
'sample_time': u'2017-12-23 10:42',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59421,
'resources_consumed': 1
}, {
'sql_id': u'8u125dk9nfc0q',
'sql_plan_hash_value': 2470916118L,
'sample_time': u'2017-12-23 10:42',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59503,
'resources_consumed': 8
}, {
'sql_id': u'dp0vgyb1hsfjb',
'sql_plan_hash_value': 3272358443L,
'sample_time': u'2017-12-23 10:42',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59454,
'resources_consumed': 1
}, {
'sql_id': u'ft7wcqu3hzvca',
'sql_plan_hash_value': 2265968010L,
'sample_time': u'2017-12-23 10:42',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59510,
'resources_consumed': 8
}, {
'sql_id': u'1xc91cuvu7j11',
'sql_plan_hash_value': 3080963105L,
'sample_time': u'2017-12-23 10:43',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59555,
'resources_consumed': 3
}, {
'sql_id': u'3qkhfbf2kyvhk',
'sql_plan_hash_value': 2234478098L,
'sample_time': u'2017-12-23 10:43',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59577,
'resources_consumed': 26
}, {
'sql_id': u'50kcsz2gh1w84',
'sql_plan_hash_value': 2667639044L,
'sample_time': u'2017-12-23 10:43',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59532,
'resources_consumed': 1
}, {
'sql_id': u'8u125dk9nfc0q',
'sql_plan_hash_value': 2470916118L,
'sample_time': u'2017-12-23 10:43',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59578,
'resources_consumed': 8
}, {
'sql_id': u'ft7wcqu3hzvca',
'sql_plan_hash_value': 2265968010L,
'sample_time': u'2017-12-23 10:43',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59565,
'resources_consumed': 3
}, {
'sql_id': u'3qkhfbf2kyvhk',
'sql_plan_hash_value': 2234478098L,
'sample_time': u'2017-12-23 10:44',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59644,
'resources_consumed': 17
}, {
'sql_id': u'50kcsz2gh1w84',
'sql_plan_hash_value': 2667639044L,
'sample_time': u'2017-12-23 10:44',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59623,
'resources_consumed': 1
}, {
'sql_id': u'8u125dk9nfc0q',
'sql_plan_hash_value': 2470916118L,
'sample_time': u'2017-12-23 10:44',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59642,
'resources_consumed': 11
}, {
'sql_id': u'dp0vgyb1hsfjb',
'sql_plan_hash_value': 3272358443L,
'sample_time': u'2017-12-23 10:44',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59614,
'resources_consumed': 2
}, {
'sql_id': u'ft7wcqu3hzvca',
'sql_plan_hash_value': 2265968010L,
'sample_time': u'2017-12-23 10:44',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59648,
'resources_consumed': 3
}, {
'sql_id': u'3qkhfbf2kyvhk',
'sql_plan_hash_value': 2234478098L,
'sample_time': u'2017-12-23 10:45',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59665,
'resources_consumed': 3
}, {
'sql_id': u'50kcsz2gh1w84',
'sql_plan_hash_value': 2667639044L,
'sample_time': u'2017-12-23 10:45',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59649,
'resources_consumed': 1
}, {
'sql_id': u'7726bj0dhtnmt',
'sql_plan_hash_value': 453825145,
'sample_time': u'2017-12-23 10:45',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59718,
'resources_consumed': 11
}, {
'sql_id': u'8u125dk9nfc0q',
'sql_plan_hash_value': 2470916118L,
'sample_time': u'2017-12-23 10:45',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59707,
'resources_consumed': 13
}, {
'sql_id': u'cmx7t67z8wa74',
'sql_plan_hash_value': 4270729444L,
'sample_time': u'2017-12-23 10:45',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59705,
'resources_consumed': 19
}, {
'sql_id': u'0m9b1dywgrdqj',
'sql_plan_hash_value': 3103504081L,
'sample_time': u'2017-12-23 10:47',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59765,
'resources_consumed': 2
}, {
'sql_id': u'3qkhfbf2kyvhk',
'sql_plan_hash_value': 2234478098L,
'sample_time': u'2017-12-23 10:47',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59768,
'resources_consumed': 10
}, {
'sql_id': u'50kcsz2gh1w84',
'sql_plan_hash_value': 2667639044L,
'sample_time': u'2017-12-23 10:47',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59770,
'resources_consumed': 1
}, {
'sql_id': u'8u125dk9nfc0q',
'sql_plan_hash_value': 2470916118L,
'sample_time': u'2017-12-23 10:47',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59764,
'resources_consumed': 11
}, {
'sql_id': u'dp0vgyb1hsfjb',
'sql_plan_hash_value': 3272358443L,
'sample_time': u'2017-12-23 10:47',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59754,
'resources_consumed': 1
}, {
'sql_id': u'3qkhfbf2kyvhk',
'sql_plan_hash_value': 2234478098L,
'sample_time': u'2017-12-23 10:48',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59779,
'resources_consumed': 4
}, {
'sql_id': u'8u125dk9nfc0q',
'sql_plan_hash_value': 2470916118L,
'sample_time': u'2017-12-23 10:48',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59788,
'resources_consumed': 5
}, {
'sql_id': u'ft7wcqu3hzvca',
'sql_plan_hash_value': 2265968010L,
'sample_time': u'2017-12-23 10:48',
'dbid': 312109145,
'sid': 64,
'serial': 16655,
'id': 59789,
'resources_consumed': 1
}
]
节日快乐!