Highcharts'重置缩放'在调用setExtremes之后

时间:2013-03-21 14:37:59

标签: highcharts

我使用setExtremes放大图表中的细节,并允许用户通过在图表中选择来缩放'x,y'。当用户放大时,他们会得到一个“重置缩放”按钮,但是当我调用setExtremes时,我没有。

我有办法强制“重置缩放”按钮以编程方式显示吗?

更新:

调用

if( !chart.resetZoomButton ) {
    chart.showResetZoom();
}
afterSetExtremes事件处理程序中的

使按钮出现,但单击它不会做任何事情。

更新:

我没有调用setExtremes,而是改为调用

chart.xaxis [0] .zoom(minx,maxx);    chart.yaxis [0] .zoom(miny,maxy);    chart.redraw();

通过在图表上选择,这与用户缩放具有相同的效果。

4 个答案:

答案 0 :(得分:10)

只是看看HighCharts源代码,看起来这可能对你有用:

chart.showResetZoom();

另外,为了使按钮正常工作,你应该使用axis.zoom而不是设置极值:

axis.zoom(newMin,newMax);

让我知道它是否有效!

答案 1 :(得分:6)

你可以使用showResetZoom,但你必须检查重置按钮是否已经可见,否则它不会消失

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

答案 2 :(得分:0)

这种方法效果很好:

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

这假设唯一可能显示的按钮是"重置缩放"按钮。如果它已经存在,则不要显示另一个。

如果您不进行此项检查,则每次拨打showResetZoom()时都会添加一个新按钮。单击可见(最近)按钮可重置缩放并删除按钮,但旧按钮仍然可见并且不执行任何操作。

答案 3 :(得分:0)

如果您使用的是setExtremes,您还可以将min和max设置为null以重置:

chart.xAxis[0].setExtremes(null, null)