5

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

JavaScript でオブジェクトを構築しています:比較/ )

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);

    };
4

1 に答える 1

5

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();
    });
于 2013-06-21T10:43:28.477 に答える