コンテナのサイズが変更されたときのグラフのレンダリングについて2つの質問があります。
まず、コンテナのサイズが変更されたときにグラフを正しくレンダリングする方法です。
つまり、最大化/復元の問題です。最初のレンダリングでは問題なく機能しますが、ウィンドウのサイズを復元すると、グラフは以前のサイズとしてオーバーレイされ始めます。次の写真からわかるように:
ウィンドウのサイズが変更されるたびにグラフを更新するようにサイズ変更ハンドラーを設定する(そして少し待つ)と、問題を解決できることを私は知っています。チャートを毎回更新せずに、チャートを適切なサイズにフローさせる方法は他にもあるかと思います。
2つ目は、チャート領域が<div>
コンテナ内にあり、コンテナのサイズがサイズ変更バーで変更される場合です。次のコードを使用して、ウィンドウのサイズ変更で機能させます。ただし、移動するサイズ変更バーでは機能しません。
$(window).resize(function () {
setTimeout(function () {
createChart(chartData);
}, 300);
});
注:グリッドコンポーネントはどのような場合でも問題なく機能し、チャートだけで常に問題が発生します。私はHighCharts、kendoUIグリッドを使用しており、どちらもjQueryUIポートレットでレンダリングされます。
コメントをいただければ幸いです!この問題には長い時間がかかりました。
更新:問題の説明が十分に明確ではないと思うので、理解を深めるためにJSFiddleの例を追加しました。基本的に私は2つのことを望んでいます:1。ウィンドウのサイズが変更されているときに、チャートのサイズをそのコンテナーに合うようにリフローします。2.サイズ変更バーが移動しているときに、チャートのサイズをコンテナに合わせてリフローします。
この例では、グラフ作成にプラグインのハイチャートを使用し、レイアウト管理にjQueryUIレイアウトを使用しています。私が使用している他のいくつかのプラグインについては、ここを参照してください。競合があるかどうかはわかりません。
ありがとう!