web-dev-qa-db-ja.com

ハイチャートはシリーズを動的に追加します

いくつかのシリーズを追加したい(Webサービスからシリーズデータを3dim配列として取得します(そしてそれをjsonとして返します)-取得するシリーズの数がわからないため、シリーズデータを動的にロードする必要があります)。

Javascriptで私はオブジェクトを構築しています:(このハイストックの例のように: http://jsfiddle.net/gh/get/jquery/1.9.1/highslide-software/highcharts.com/tree/master/samples/在庫/デモ/比較/

seriesOptions[i] = {
    name: namearray[i],
    data: dataarray
};

e.g. result: [Object { name="Series", data=[[1041375600000, 29,9]]}]

私はこのようなシリーズを追加しようとしていました:

$.each(seriesOptions, function (itemNo, item) {
    chart.addSeries({                        
        name: item.name,
        data: item.data
    }, false);
});
chart.redraw();

しかし、チャートはシリーズをちょっと奇妙に描いており、現在までのタイムスタンプに変換されません。
Webサービスのグラフデータに問題はありますか?

これが私のコードです: http://jsfiddle.net/DGdaf/2/

これまでの助けに感謝します。

[〜#〜]編集[〜#〜]
グラフはタイムライン/ズーム値のすべてのデフォルト値を無視しているようです。なぜこれらのコンポーネントが表示されないのかわかりません。
問題は、初期化後にグラフを描画していることである可能性がありますか?

chart = new Highcharts.Chart(options);

しかし、私はそれを動的シリーズローディングの原因で行わなければなりません。

EDIT2
ロードしているデータが多すぎるかどうかわかりません。シリーズを動的に作成できません。

for(i=0; i<seriesOptions.length; i++){
        chart.addSeries({                        
            name: seriesOptions[i].name,
            data: seriesOptions[i].data
        }, true);

    };
5
spyfx

YAxisに設定:

yAxis: {
    type: 'datetime'
}

フィドル を参照してください

編集:タイムライン/ズーム http://jsfiddle.net/DGdaf/5/

編集:チャートの準備ができたら、コールバックを使用してシリーズを追加します。しかし、チャートを作成するときにこれらのシリーズを追加してみませんか?

    chart = new Highcharts.Chart(options, function(ch) {

        $.each(seriesOptions, function (itemNo, item) {
            ch.addSeries({                        
                name: item.name,
                data: item.data
            }, false);

        });
        chart.redraw();
    });
4
Paweł Fus