0

以下のコードを変換して、DB から返された値からシリーズ データを構築するのに少し助けが必要です。

var options = {
"chart": {
    "type": "column",
    "zoomType": "xy",
    "inverted": true
},
"plotOptions": {
    "series": {
        "stacking": "percent"
    },
    "column": {
        "allowPointSelect": true
    },
    "bar": {
        "selected": true
    }
},
"title": {
    "text": "MT Messages"
},
"xAxis": {
    "title": {
        "text": null
    },
    "type": "category"
},
"series": [
    {
        "index": 0,
        "dataLabels": {
            "enabled": true
        },
        "name": 101,
        "data": [
            [
                "Today",
                5
            ],
            [
                "This Week",
                3
            ],
            [
                "Last Week",
                4
            ],
            [
                "Last Month",
                127
            ]
        ]
    },
    {
        "index": 1,
        "dataLabels": {
            "enabled": true
        },
        "name": 103,
        "data": [
            [
                "Today",
                2
            ],
            [
                "This Week",
                2
            ],
            [
                "Last Week",
                3
            ],
            [
                "Last Month",
                20000
            ]
        ]
    },
    {
        "index": 2,
        "dataLabels": {
            "enabled": true
        },
        "name": 202,
        "data": [
            [
                "Today",
                3
            ],
            [
                "This Week",
                4
            ],
            [
                "Last Week",
                4
            ],
            [
                "Last Month",
                2
            ]
        ]
    }
]

};

これを次のように置き換えました:

 var data = [['Today', 12], ["This Week", 13], ["Last Week", 23], ["Last Month", 100]];

            var barChart = $(function() {
                $('#barChart').highcharts({
                    "chart": {
                        "type": "column",
                        "zoomType": "y",
                        "inverted": false
                    },
                    "plotOptions": {
                        "series": {
                            "stacking": "percent"
                        },
                        "column": {
                            "allowPointSelect": true
                        },
                        "bar": {
                            "selected": true
                        }
                    },
                    "title": {
                        "text": "MT Messages"
                    },
                    "xAxis": {
                        "title": {
                            "text": null
                        },
                        "type": "category"
                    },

                    "series": [
                        {
                            "index": 0,
                            "dataLabels": {
                                "enabled": true
                            },
                            "name": 101,
                            "data":data

                        },
                        {
                            "index": 1,
                            "dataLabels": {
                                "enabled": true
                            },
                            "name": 103,
                            "data": data
                        },
                        {
                            "index": 2,
                            "dataLabels": {
                                "enabled": true
                            },
                            "name": 202,
                            "data":data
                        }
                    ]
                });
            });

ただし、すべての列に各インデックスの同じ値が含まれています

ハイチャート

私はこれをすべて間違って見ている可能性があり、おそらく私の配列は次のようにする必要があります。

data = ['今日',12,13,52],['今週', 123,3466,56]...など

しかし、これはチャートのレンダリングにまったく失敗します。

4

1 に答える 1

2

各シリーズに同じデータ配列値を使用しているため、すべて同じように見えます。あなたの最初の例では、各シリーズには異なるデータセットがありました。2 番目にこれを行うには、シリーズごとに異なるデータ配列が必要です。

var data1 = [['Today', 12], ["This Week", 13], ["Last Week", 23], ["Last Month", 100]];
var data2 = [['Today', 5], ["This Week", 15], ["Last Week", 12], ["Last Month", 203]];
...
                "series": [
                    {
                        "index": 0,
                        "dataLabels": {
                            "enabled": true
                        },
                        "name": 101,
                        "data":data1

                    },
                    {
                        "index": 1,
                        "dataLabels": {
                            "enabled": true
                        },
                        "name": 103,
                        "data": data2
                    },
etc.
于 2013-11-11T15:17:31.490 に答える