2013-02-22 16 views
8

Ho circa 6 grafici su una pagina, uno di loro deve avere un tema diverso dagli altri cinque. Ho i temi che funzionano individualmente ma il secondo inizializzato viene applicato a tutti i grafici.Highcharts.js - più temi sulla stessa pagina?

C'è un modo per specificare quale tema utilizza un grafico?

+2

C uno mostri una demo? Probabilmente stai usando 'Highcharts.setOptions()' che imposta le opzioni per tutti i grafici creati dopo la sua chiamata. –

+2

Sì, è esattamente quello che stavo facendo. Dopo aver letto il tuo commento ho spostato la chiamata a setOptions() all'interno della funzione che crea i grafici e ora funziona :) –

+0

Haha, fantastico! :) –

risposta

8

Dopo aver letto il commento di Ricardo mi sono reso conto che dovevo semplicemente spostare la chiamata setOptions() all'interno della chiamata $ (documento) .ready.

una versione molto semplificata del mio codice:

Highcharts.theme1 = { 
    chart: { 
     borderWidth: 0, 
    }, 
}; 

var chart; 
$(document).ready(function() { 

    // Apply the theme 
    var highchartsOptions = Highcharts.setOptions(Highcharts.theme1); 

    // Build the chart 
    chart = new Highcharts.Chart({}); 

}); 

Highcharts.theme2 = { 
    chart: { 
     borderWidth: 5, 
    }, 
}; 

var chart2; 
$(document).ready(function() { 

    // Apply the theme 
    var highchartsOptions = Highcharts.setOptions(Highcharts.theme2); 

    // Build the chart 
    chart = new Highcharts.Chart({}); 

}); 
9

migliori pratiche attualmente sarebbe quella di fondersi nel tema con la vostra chart options:

chart1 = new Highcharts.Chart(Highcharts.merge(options1, theme1));

var options1 = { 
    // options goes here 
     chart: { 
      renderTo: 'chart1', 
      type: 'bar', 
     }, 
     title: { 
      text: 'Conversions' 
     }, 
}; 

var theme1 = { 
    // themes goes here 
}; 

var chart1 = new Highcharts.Chart(Highcharts.merge(options1, theme1)); 

questo modo è possibile impostare temi individuali per ogni grafico se ne hai bisogno anche

Problemi correlati