0

私はこの方法で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 }}
            }]

誰かが私のためにコードを書くよりも、正しい方向にプッシュするほうがいいです。どんな援助も大歓迎です!

4

1 に答える 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 %}
 ]
于 2013-03-07T18:58:20.927 に答える