いくつかのシリーズを追加したい(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);
};
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();
});