パネルをボタンで表示/非表示にしたいと考えています。パネルを非表示にするamchart
in this sampleパネルを削除/追加します。 しかし、追加するときは、パネルと設定をもう一度行う必要があります。
パネルを表示/非表示にして削除しないようにしたいと考えています。
私は周りのグーグルとサンプルが見つかりませんでした。
可能でしょうか? @Robbert
返信
へ
おかげで私はパネルを隠すことができます。このような 。
$(".amcharts-stock-panel-div-stockPanel1").hide();
ただし、各パネルのサイズは再調整されません。
このようにしてみてください。
$(".amcharts-stock-panel-div-stockPanel1").hide();
chart.panels[1].percentHeight = 1;
chart.validateNow();
パネルを非表示にし、各パネルの高さを調整します。しかし
、percentHeight = 1;
このエラーが発生したときにvalidateNow()
を使用している場合。
amcharts.js:26 Uncaught TypeError: Cannot read property 'translate' of undefined
at b.fixVLine (amcharts.js:26)
at b.adjustBalloonCoordinate (serial.js:17)
at b.showBalloon (amcharts.js:5)
at b.handleCursorMove (serial.js:8)
at b.dispatchMovedEvent (amcharts.js:27)
at b.syncWithCursorReal (amcharts.js:28)
at b.syncWithCursor (amcharts.js:28)
at b.handleCursorChange (amstock.js:2)
at b.a.inherits.b.fire (amcharts.js:1)
at b.dispatchMovedEvent (amcharts.js:27)
私の最終的な解決策は、CSSを使用していますが、パネルのバックアップのための変数panelBack
を準備していない、このようなものです。デモのソースを見ることによって
//removing ...
pos = //panel position.
var panelBack = chart.panels[pos];
chart.removePanel(chart.panels[pos]);
chart.validateNow();
//adding...
chart.addPanelAt(panelBack,1);
chart.validateNow();
CSSを使用してパネルを非表示にしたり、他の外部の方法を使用しても、amCharts APIメソッドを使用してパネルを削除し、 'validateNow'を呼び出すことをアドバイスします。そうしないと、amChartsがパネルがまだそこにあると思っている(実際にはそうである)と思われるような予期しないエラーメッセージが表示されることがあります。 – Robbert
ありがとうRobbert、最後に私はamchart APIを使用して削除します。私の記事を更新しました。 – whitebear