3

システムのユーザー向けにいくつかのグラフィックをプロットするためにハイチャートを使用しています。問題なく動作しますが、スタッキング オプションに問題があります。

チャートを積み重ねるために、私がやっていることは次のとおりです。

chart.options.plotOptions.series.stacking = 'normal';

Highcharts API によると、これがその方法です。正常に動作します。積み上げ以外にも、ユーザーに情報を表示する必要がありますが、これらの情報は、グラフが積み上げられている場合にのみ表示されます。だからここに私がやっていることがあります:

var stacking = chart.options.plotOptions.series.stacking;
if (stacking == 'normal'){
      //show something
}

これにより、グラフが積み上げられていることが確認されますが、「積み上げ」は常に「通常」または空白ではなく「未定義」を返します-別の関数で「通常」と属性付けたとしても。「chart」はグローバル変数であるため、その変更は他の JS 関数からアクセスできる必要があることに注意してください。

詳細: http://jsfiddle.net/GtjdU/

何か案は?

4

2 に答える 2

2

問題は、あなたが次のことをしたと言ったことです:

chart.options.plotOptions.series.stacking = 'normal';
                            ^

しかし、あなたはそれをしましたか?
いいえ、フィドルを見ると、次のことを行っていることがわかります。

chart.options.plotOptions.column.stacking = 'normal';
                            ^

それがあなたが得ている理由ですundefined

デモ

于 2012-12-22T02:46:54.720 に答える
0

スタッキングを知りたいシリーズを定義する必要があります。

var stackedVal;
stackedVal = chart.series[0].options.stacking;
alert(stackedVal);

グローバル スタック値を取得できない理由は、個々のシリーズ要素からオーバーライドされているためです。を設定できますplotOptions.series.stacking = 'normal'が、各シリーズで独自の個別のスタッキングを設定できます。特定のシリーズが実際に行っていることから読み取ることは常に良いことです。

デモ

于 2012-12-21T21:29:41.083 に答える