10

私は setExtremes を使用してグラフの詳細を拡大し、ユーザーがグラフで選択して「x、y」をズームできるようにしています。ユーザーがズームすると、「ズームのリセット」ボタンが表示されますが、setExtremes を呼び出すと表示されません。

「ズームのリセット」ボタンをプログラムで強制的に表示する方法はありますか?

アップデート:

呼び出し

if( !chart.resetZoomButton ) {
    chart.showResetZoom();
}

afterSetExtremes イベント ハンドラー内でボタンを表示しますが、クリックしても何も起こりません。

アップデート:

setExtremes を呼び出すのではなく、呼び出すように変更しました

chart.xaxis[0].zoom(minx, maxx); chart.yaxis[0].zoom(最小、最大); chart.redraw();

これは、ユーザーがグラフを選択してズームインするのと同じ効果があります。

4

4 に答える 4

13

HighChartsのソースコードを見てみたところ、これでうまくいくようです。

chart.showResetZoom();

また、ボタンが正しく機能するためには、極値を設定する代わりにaxis.zoomを使用する必要があります。

axis.zoom(newMin,newMax);

それがうまくいくかどうか私に知らせてください!

于 2013-03-21T14:47:48.417 に答える
7

を使用することはできますshowResetZoom、リセットボタンがすでに表示されているかどうかを確認する必要があります。表示されていない場合は消えません

if( !chart.resetZoomButton ) {
    chart.showResetZoom();
}
于 2013-03-21T14:52:03.993 に答える
1

このアプローチはうまく機能します。

if (!$('.highcharts-button').length) {
    chart.showResetZoom();
}

これは、表示される唯一のボタンが「ズームのリセット」ボタンであると想定しています。既に存在する場合は、別のものを表示しないでください。

このチェックを行わないと、 を呼び出すたびに新しいボタンが追加されますshowResetZoom()。表示されている (最新の) ボタンをクリックすると、ズームがリセットされてボタンが削除されますが、古いボタンは表示されたままで何もしません。

于 2016-06-09T16:39:21.400 に答える