2012-05-22 10 views
5

Creando mi Highchart con las opciones predeterminadas funciona bien:Restablecimiento Highcharts al estado inicial

chart = new Highcharts.Chart(options); 

Sin embargo, cuando yo quiero destruir y volver a crear la tabla sólo se destruye. Incluso si elimino chart.destroy();, la tabla aún está completamente en blanco pero no se recrea.

$('#resetChart').on("click", function(e){ 
    e.preventDefault(); 
    chart.destroy(); 
    chart = new Highcharts.Chart(options); 
}); 

Un poco atascado aquí sobre cómo restablecer este gráfico.

Editar ::

Inspección de la caja gráfico muestra los gráficos circulares está creando algo aquí, pero no parece ser recuperar los datos correctamente. ¿Debo volver a pasar también mi variable de datos aunque esté configurada en las opciones?

series: [{ 
       name: name, 
       data: data, 
       /* changes bar size */ 
       pointPadding: 0, 
       borderWidth: 0, 
       pointWidth: 15, 
       shadow: false 
     }] 

A continuación, los datos se define en la página (para nuestro CMS):

<script type="text/javascript"> 
     data = [ 
      { 
       y: {value}, 
       name: 'field1', 
       id:'1' 
      }, 
      { 
       y: {value}, 
       name: 'field2', 
       id:'2' 
      }, 
      { 
       y: {value}, 
       name: 'field3', 
       id:'3' 
      } 
     ]; 
    </script> 
+0

¿Has visto mi respuesta? –

Respuesta

6
$('#resetChart').on("click", function(e){ 
    e.preventDefault(); 
    while(chart.series.length > 0) chart.series[0].remove(true); 
    chart = new Highcharts.Chart(options); 
}); 

http://jsfiddle.net/tapkr/1

+0

Eso no parece funcionar. También lo intenté en su demostración básica de tarta: http://jsfiddle.net/tapkr/ –

+0

@Grillz intente esto http://jsfiddle.net/tapkr/1/ – undefined

+0

¿Ese enlace está funcionando para usted? Tal vez estoy cambiando el tema de los navegadores ya que el violín no está reiniciando para mí –

4

Al crear el gráfico para la primera vez que pasar algunas opciones thrue la parámetro, puede guardarlos en una var y cuando quiera crear nuevamente, use las mismas opciones como el siguiente código.

var defaultOptions = { 
    // your options 
}; 

function drawDefaultChart() { 
    chart = new Highcharts.Chart(defaultOptions); 
} 

drawDefaultChart(); 

$('#resetChart').on("click", function(e){ 
    e.preventDefault(); 
    chart.destroy(); 
    drawDefaultChart(); 
}); 

Usted puede ver su funcionamiento here.

Cuestiones relacionadas