0

いくつかのx軸plotLinesとplotBandsがあるチャートがあります。legendItemClickでplotLinesとBandsを表示/非表示にする関数があります。(これは、正規曲線がオーバーレイされ、標準偏差レベルがマークされたヒストグラムです)

チャートとコードはここで見ることができます:http://jsfiddle.net/jlbriggs/FnhRV/

function toggleBands(chart) {
  $.each(chart.xAxis[0].plotLinesAndBands, function(index,el){
    if(el.svgElem != undefined) {
      el.svgElem[ el.visible ? 'show' : 'hide' ]();
      el.visible = !el.visible;
    }
  });
}

問題:他の系列が表示または非表示になっていて、それに応じてx軸がスケーリングされる場合、プロットラインまたはバンドのいずれかがスケールから外れると、動作が不安定になり始めます。

投稿された例では、正規曲線系列を非表示にすると、最も外側のプロットラインがx軸の境界の外側になります。それが発生すると、それらを非表示にするたびにこれらの2つの線が再表示され、さまざまな凡例項目をクリックすると、表示されるべきではないさまざまな非表示/表示状態が発生します。

軸が常にプロットラインに対して十分な幅を維持するようなシリーズの場合、このエラーは発生せず、意図したとおりに表示と非表示が正常に発生します。

誰かがなぜこれが起こっているのか教えてもらえますか、そして/または解決策を提供できますか?前もって感謝します

ジェイミー

{{編集:曲線の値に一致するように最小値と最大値を設定しても、この場合の状況は役に立ちません。ユーザーが曲線を非表示にして、ヒストグラムデータにスケーリングされたグラフを表示できることが望ましいためです。

4

2 に答える 2

6

PlotLines軸が再び表示されるとplotBands、すべてのplotLinesとplotBandsもレンダリングされるためです。そうすると、plotLinesとplotBandsを簡単に制御できなくなります。それを解決する方法は?SVG要素を非表示/表示する代わりに、plotLines / plotBandsを削除するか、必要に応じて追加します。これがあなたのための解決策です:http://jsfiddle.net/FnhRV/19/

于 2013-12-17T13:19:43.580 に答える
0

最小/最大値を設定することをお勧めします。

http://jsfiddle.net/jlbriggs/FnhRV/

    min:-3,
    max:3,
    showEmpty: true,
于 2013-02-22T13:33:33.150 に答える