1

X分ごとにajaxを介して更新しているシリーズデータを含むハイチャートスパイダーウェブチャートがあります。最初にページをロードすると、次のようになります。

初期ロード時のクモの巣チャート

ただし、系列データに対する最初の更新とその後の更新の後、グラフは次のようになります。

同じデータを使用した最初とその後の更新後のクモの巣チャート

サンプルでは、​​チャートの更新に使用される系列データは、チャートの初期化に使用される元のデータとまったく同じであることに注意してください。

これは、動作を再現するjsFilddle です。系列データを更新する行は次のとおりです。

chart.series[0].setData([14, 10, 1, 7, 7]);

再現する手順:

  1. ページを読み込む
  2. 「新規データ設定ボタン」をクリック

チャートを更新するときに何か間違ったことをしていますか?

4

2 に答える 2

0

予期せぬ理由により、新しいハイチャートの作成とチャートの更新を段階的に行う必要があります。

私のデモhttp://jsfiddle.net/pm7Cn/1/をチェックしてください

スクリプト全体で変数にアクセスできるようにするために、関数の外で変数を宣言する方法を見てください。

var chart;
var flagIn = 1;
var options, series2, title2; 

また、「オプション」変数を初期化し、その後 Highcharts オブジェクトを作成していることに注意してください

options = {....}
chart = new Highcharts.Chart(options);

新しいチャートを作成するために、新しいデータを series2 と Title 2 にプッシュしてから、チャート オブジェクトを更新しようとしています。

options.series = series2;
options.title = title2;
chart = new Highcharts.Chart(options);
console.log("update");

更新された http://jsfiddle.net/pm7Cn/2/ 上記のフィドルでは、同じデータ ポリゴンが何度も何度も読み込まれる様子を確認できます。

于 2013-02-21T23:49:14.753 に答える
0

最小/最大値または tickInterval を 5 に設定しようとしましたか?

http://api.highcharts.com/highcharts#yAxis.tickInterval

于 2013-02-22T13:13:03.987 に答える