Ir para conteúdo

POWERED BY:

Arquivado

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

Artus

Sobre Highcharts

Recommended Posts

Pessoal, estou desenvolvendo um script onde preencho 2 tabelas, uma com data e hora e outra com alguns valores medidos, a partir desses dados calculo outros; enfim, tenho todos os dados que preciso, e com eles preciso plotar um gráfico(estou usando a biblioteca Highcharts). Tenho até 30 campos que podem ser completados com valores, quando completo os 30 ele plota bonitinho, mas quando completo com menos valores, ele não mostra nem os pontos nem as linhas e me devolve o seguinte:

" Highcharts Error #15.
Highcharts expects data to be sorted.
This happens when you are trying to create a line series or a stock chart where the data is not sorted in ascending X order. For performance reasons, Highcharts does not sort the data, instead it is required that the implementer pre-sorts the data. [/size]"

Segue aqui o que tenho usado de código:


var listaMedidas = []
var listaMedidasTeo = []
var listaMedidasTeoMais = []
var listaMedidasTeoMenos = []
var listaTempo = []
function umaFuncao(){
// esses valores dentro do push já estão todos definidos na minha função
listaMedidas.push(elementocampoMAtivMedidaedidaDescontada)
listaMedidasTeo.push(medidaTeorica)
listaMedidasTeoMais.push(medidaTeoricaMais)
listaMedidasTeoMenos.push(medidaTeoricaMenos)
listaTempo.push(difA)
$(function () {
$('#container').highcharts({
title: {
text: 'Linearidade',
x: -0 //center
},
xAxis: {
tickPositions:listaTempo,
title: {
text: 'Minutos'
},
},
yAxis: {
tickPositioner: function () {
var positions = [];
tick = Math.floor(this.dataMin),
increment = Math.ceil((this.dataMax - this.dataMin) / 5);
for (tick; tick - increment <= this.dataMax; tick += increment) {
positions.push(tick);
}
return positions;
},
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
},
series: [{
data: (function () {
var data = [];
for (i = 0; i <= 29; i ++) {
data.push({
x: listaTempo,
y: listaMedidasTeoMenos
});
}
return data;
}())
},{
data: (function () {
var data = [];
for (i = 0; i <= 29; i ++) {
data.push({
x: listaTempo,
y: listaMedidas
});
}
return data;
}())
}, {
data: (function () {
var data = [];
for (i = 0; i <= 29; i ++) {
data.push({
x: listaTempo,
y: listaMedidasTeo
});
}
return data;
}())
}, {
data: (function () {
var data = [];
for (i = 0; i <= 29; i ++) {
data.push({
x: listaTempo,
y: listaMedidasTeoMais
});
}
return data;
}())
}]
});
});
}
Alguém sabe me falar como posso plotar esse gráfico colocando menos que 30 valores?
Obrigado pela ajuda!

 

 

 

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.