highcharts pie
Highcharts ''Reset Zoom'' después de llamar a setExtremes (4)
Estoy usando setExtremes para ampliar los detalles en un gráfico, y también para permitir al usuario hacer zoom ''x, y'' seleccionando en el gráfico. Cuando el usuario hace zoom, obtiene un botón de "restablecer zoom", sin embargo, cuando llamo a setExtremes, no lo hago.
¿Hay alguna manera de forzar que el botón "reiniciar zoom" aparezca programáticamente?
ACTUALIZAR:
vocación
if( !chart.resetZoomButton ) {
chart.showResetZoom();
}
dentro del controlador de eventos afterSetExtremes hace que el botón aparezca, pero hacer clic en él no hace nada.
ACTUALIZAR:
En lugar de llamar a setExtremes, he cambiado a llamar
chart.xaxis [0] .zoom (minx, maxx); chart.yaxis [0] .zoom (miny, maxy); chart.redraw ();
Esto tiene el mismo efecto que la ampliación del usuario al seleccionar en el gráfico.
Puede usar showResetZoom
, pero debe verificar si el botón de reinicio ya está visible; de lo contrario, no desaparecerá .
if( !chart.resetZoomButton ) {
chart.showResetZoom();
}
Solo eché un vistazo al código fuente de HighCharts, parece que esto puede funcionar para usted:
chart.showResetZoom();
Además, para que el botón funcione correctamente, debe usar axis.zoom en lugar de establecer los extremos:
axis.zoom(newMin,newMax);
¡Déjame saber si funciona!
Este enfoque funciona bien:
if (!$(''.highcharts-button'').length) {
chart.showResetZoom();
}
Esto supone que el único botón que podría mostrarse es el botón "Restablecer zoom". Si ya está allí, no muestres otro.
Si no realiza esta comprobación, se agrega un nuevo botón cada vez que llame a showResetZoom()
. Al hacer clic en el botón visible (más reciente) se restablece el zoom y se quita el botón, pero los botones más antiguos siguen visibles y no hacen nada.
Si está utilizando setExtremes, también puede establecer min y max en null para restablecer:
chart.xAxis[0].setExtremes(null, null)