私はこの方法で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 }}
}]
誰かが私のためにコードを書くよりも、正しい方向にプッシュするほうがいいです。どんな援助も大歓迎です!