我使用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();
通过在图表上选择,这与用户缩放具有相同的效果。
答案 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)