3

Highchartsで縦棒グラフの実装を開始しました。(http://jsfiddle.net/gh/get/jquery/1.7.2/highslide-software/highcharts.com/tree/master/samples/highcharts/demo/combo/その一部の縦棒グラフ)

私はシリーズをそのように設定しました:

...
series : []
...

そして、私はサーバーからそのようなsthを返します:

[ {
  "name" : "4346",
  "data" : [ 3010840179 ],
  "type" : "column"
}, {
  "name" : "20232",
  "data" : [ 2135308977 ],
  "type" : "column"
} ]

その値をコピーしてシリーズを最初に設定すると、グラフィックがレンダリングされます。ただし、サーバーから何が返されるか(要素の数など)はわかりません。それを試してみます。

chart.series = data; //chart is my chart variable's name, data is the returning JSON String from server.

しかし、チャートでは何も起こりません、私はそれが有効な使用法ではないことを知っています。チャートの系列変数を一度に設定するにはどうすればよいですか?

PS 1: $。getJSON()のコールバック関数でデータを設定しようとしています

PS 2: chart.series [n] .setData(); 私には向いていません。サーバーからのすべての要素のデータと名前の両方を持っています。チャートのシリーズ変数全体を一度に設定したい。

編集1: http: //jsfiddle.net/HD6CY/これは私が達成したいことです。

編集3:シリーズ:[]でチャートを作成したいのですが、サーバーからデータを取得した後(時間がかかります)、チャートのseres変数に設定したいと思います。データの取得を待機している場合にチャートの作成をブロックしたくないので、空のビルドを行い、その後設定します。画面に読み込み中のテキストを表示するので、最初に表示するものがなくても、nullページの代わりに何かが表示されます。

4

2 に答える 2

3

について確認してくださいaddSeries

空のチャートを作成したら、次の手順を実行します。

var  variable =   [{
    type: 'column',
    name: 'Jane',
    data: [3, 2, 1, 3, 4]
}, {
    type: 'column',
    name: 'John',
    data: [2, 3, 5, 7, 6]
}, {
    type: 'column',
    name: 'Joe',
    data: [4, 3, 3, 9, 0]
}]; 
for(var i in variable) {
    chart.addSeries(variable[i], false); // don't redraw
}
chart.redraw(); // redraw only after add all series

デモ

参照

于 2012-08-31T17:12:54.100 に答える
1

ajax呼び出しの成功に関するチャートを作成してみましたか?:

  ...
  success: function(data) { 
       var chart;  
       chart = new Highcharts.Chart({
             ...
             series: data
             ....
       });
  ...
于 2012-08-31T13:26:38.027 に答える