Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

tomelin

HighCharts com Jquery

Recommended Posts

PessoALL,

 

Estou ciando gráficos com o highcharts, porém todos os gráficos que criei até o momento estou especificando o numedo de dados que vais ter , conforme o exemplo abaixo:

 

series: [{},{}] => nesse caso são duas entrardas de dados.

 

Porém agora estou precisando fazer com quantidados dinamica de dados, alguém sabe como fazer?

 

Meu código está assim atualmente:

 

$(function () {
 
 
 $(document).ready(function(){
 
var options = {
chart: {
renderTo: 'container',
type: 'line'
},
            title: {
                text: 'Monthly Average Temperature',
                x: -20 //center
            },
            subtitle: {
                text: 'Source: WorldClimate.com',
                x: -20
            },
            xAxis: {
                categories: ['Teste1','Teste2']
            },
            yAxis: {
                title: {
                    text: 'Temperature'
                },
                plotLines: [{
                    value: 0,
                    width: 1,
                    color: '#808080'
                }]
            },
tooltip: {
     formatter: function() {
         return 'The value for <b>' + this.x + '</b> is <b>' + this.y + '</b>, in series '+ this.series.name;
     }
},
            plotOptions: {
    line: {
        dataLabels: {
            enabled: true
        }
    }
},
            legend: {
                layout: 'vertical',
                align: 'right',
                verticalAlign: 'middle',
                borderWidth: 0
            },
         series: [{},{}] -> informo que são dois dados de entrarda
};
 
 
$.ajax({
url: "ajax_network.php",
data: 'show=impression',
type:'post',
dataType: "json",
success: function(data){
options.series[0].name = 'Dados 2';
options.series[0].data = data.dados2;
options.series[1].name = 'Dados 1 ';
options.series[1].data = data.dados1;
var chart = new Highcharts.Chart(options); 
}
});
});
});
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, remova essa linha:

 series: [{},{}] -> informo que são dois dados de entrarda
daquela parte do código, e lá no teu success, faça o seguinte:

 

success: function(data){
    options.series.push({});
    options.series[0].name = 'Dados 2';
    options.series[0].data = data.dados2;

    options.series.push({});
    options.series[1].name = 'Dados 1 ';
    options.series[1].data = data.dados1;
    var chart = new Highcharts.Chart(options); 
}
Entendeu ? eu fiz um .push() no array de um objeto vazio, para vc poder preencher com os dados.

 

No caso, como vc disse que será dinâmico, basta colocar num loop, baseado no jSON q vem do ajax agora.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.