Django生成多系列Highchart图表
我一直在通过Django创建一些Highcharts,方式是这样的:
...get rows from database
rows = cursor.fetchall()
months = list()
avg_class = list()
for i in range(0, len(rows)):
months.append(rows[i][2])
avg_class.append(rows[i][5])
months_j = json.dumps(months, cls=DecimalandDateEncoder)
avg_class_j = json.dumps(avg_class, cls=DecimalandDateEncoder)
send to my template....
这段代码里包含了图表的javascript,格式大概是这样的。
xAxis: {
type: 'datetime',
categories: {{ months|safe }},
etc...........
},
series: [{
name: 'Series Name',
data: {{ avgclassdata }}
}]
这样做效果很好,数据像这样。
Month Avg Class Data
1/1/2012 17.600493
2/1/2012 18.114341
3/1/2012 16.246443
4/1/2012 16.09489
现在,我有这样的数据:
Location Month Avg Class Data
Location 1 1/1/2012 17.600493
Location 1 2/1/2012 18.114341
Location 1 3/1/2012 16.246443
Location 1 4/1/2012 16.09489
Location 2 1/1/2012 21.56584
Location 2 2/1/2012 19.54654
Location 2 3/1/2012 17.54654
Location 2 4/1/2012 20.54551
这些数据可能来自多个地点。我想用每个地点的组作为一个系列来创建Highchart。我有点不知道该怎么循环我的结果行,并把地点作为系列名称,然后把对应的平均班级数据作为系列数据。
我的最终目标是从数据库结果中创建这个:
xAxis: {
type: 'datetime',
categories: {{ months|safe }},
etc...........
},
series: [{
name: Here would go the name of Location 1,
data: {{ location 1 data }}
}, {
name: Here would go the name of Location 2,
data: {{ location 2 data }}
}]
我更希望能得到一些方向上的指导,而不是让别人直接给我写代码。任何帮助都非常感谢!
1 个回答
2
在编程中,有时候我们需要处理一些数据,比如从一个地方获取数据,然后在另一个地方使用这些数据。这个过程可能会涉及到一些复杂的操作,比如数据的转换、过滤或者排序。
想象一下,你在做一个项目,需要从一个数据库里提取用户的信息,然后把这些信息展示在网页上。为了做到这一点,你可能需要写一些代码来连接数据库,获取数据,然后把它们格式化成网页可以显示的样子。
在这个过程中,你可能会遇到一些问题,比如数据格式不对,或者获取的数据不完整。这时候,你就需要调试你的代码,找出问题所在,并进行修复。
总之,处理数据的过程就像是在做一道菜,你需要准备好所有的材料,按照步骤进行,最后才能做出美味的成品。
xAxis: {
type: 'datetime',
categories: {{ months|safe }},
etc...........
},series: [
{% for location in locations %}
{
name: Here would go the name of {{location.name}},
data: [
{% for data in location_data %}
{{data}},
{% endfor %}
]
},
{% endfor %}
]