Graficos con Morris.js

Iniciado por fdap91, 13 Octubre 2014, 22:07 PM

0 Miembros y 1 Visitante están viendo este tema.

fdap91

Buenas estoy haciendo un grafico con morris.js pero en la consola me da estos errores

Uncaught TypeError: Cannot read property 'match' of undefined
t.parseDate
(anonymous function)
t.Grid.r.setData
r
n
n
(anonymous function)
fire
self.fireWith
done
anonymous function)


y en el codigo de javascript tengo esto

Código (javascript) [Seleccionar]
$.post("Queries/inicio/vender.php",
   {},
   function(respuesta){
   var abc = respuesta;

   $("#respuesta").html(abc);

Morris.Line({
   element: 'respuesta',
   data: abc,
   xkey: 'period',
   xLabels: "Tiempo",
   ykeys: ['a', 'b'],
   labels: ['Visits', 'User signups']
});

   });



en donde el result del abc da algo como esto


Código (javascript) [Seleccionar]
[
   {Lineas:'1',a:0,b:4},
   {Lineas:'2',a:0,b:5},
   {Lineas:'3',a:0,b:0},
   {Lineas:'4',a:0,b:0},
   {Lineas:'5',a:0,b:0},
   {Lineas:'6',a:0,b:0},
   {Lineas:'7',a:0,b:0},
   {Lineas:'8',a:3,b:0},
   {Lineas:'9',a:0,b:4},
   {Lineas:'10',a:0,b:0},
   {Lineas:'11',a:0,b:0},
   {Lineas:'12',a:0,b:0},
   {Lineas:'13',a:0,b:0},
   {Lineas:'14',a:0,b:0},
   {Lineas:'15',a:0,b:0},
   {Lineas:'16',a:0,b:0},
   {Lineas:'17',a:0,b:0},
   {Lineas:'18',a:0,b:0},
   {Lineas:'19',a:0,b:0},
   {Lineas:'20',a:0,b:0},
   {Lineas:'21',a:0,b:0},
   {Lineas:'22',a:0,b:0},
   {Lineas:'23',a:0,b:0},
   {Lineas:'24',a:0,b:0},
   {Lineas:'25',a:0,b:0},
   {Lineas:'26',a:0,b:0},
   {Lineas:'27',a:0,b:0},
   {Lineas:'28',a:0,b:0},
   {Lineas:'29',a:0,b:0},
   {Lineas:'30',a:0,b:0},
   {Lineas:'31',a:0,b:0}
   ]



si lo pongo por separado y pego el resultado en un grafico separado me da el grafico pero si lo coloco con el post no lo hace

quien me puede ayudar?


MOD: Etiquetas GeSHi OBLIGATORIAS.

JorgeEMX

Si dices que funciona entonces tiene que ver con el dato que le pasas  a Morris. Verifica que en el JS abc sea realmente tomado como un objeto. Quizá deberías usar $.parseJSON o retornar correctamente tu información desde PHP con json_encode. http://api.jquery.com/jquery.parsejson/

MinusFour

Algo no encaja aquí:

La documentación de Morris.js dice que xkeys debe ser la propiedad a usar para el eje de las X. No hay ninguna propiedad period en tu objeto JSON. Hay 'Lineas'...

Y en cuanto a xLabels, la documentacion dice:

CitarSets the x axis labelling interval. By default the interval will be automatically computed. The following are valid interval strings:
"decade"
"year"
"month"
"week"
"day"
"hour"
"30min"
"15min"
"10min"
"5min"
"minute"
"30sec"
"15sec"
"10sec"
"5sec"
"second"

Y tu tienes: 'Tiempo'.

http://morrisjs.github.io/morris.js/lines.html

fdap91

buenas muchas gracias por las respuestas en realidad solo faltaba hacer el parseJson en jquery y listo mostro la estadistica