Tengo un gráfico de líneas que usa años para puntos de datos. Todo funciona en la carga de la página. Ahora hice un menú desplegable para seleccionar un año con una llamada ajax.
Todo se publica correctamente y los datos también se recuperan correctamente. Pero por alguna razón, al colocar los datos recuperados dentro de la estructura de datos, el gráfico no muestra datos. Se carga pero solo está vacío.
Si agrego los datos codificados en mi JS, funciona.
¿Qué está yendo mal?
Estos son mis datos dentro del success de la llamada ajax:
var obj = $.parseJSON(data); var orders = obj[0].aantalarr; Si hago console.log(orders); Obtengo 0,0,0,0,0,0,0,1,2,5,5,5 .
Luego en la estructura de datos del gráfico hago:
data: [orders]Que muestra un gráfico vacío.
Si hago data: [0,0,0,0,0,0,0,1,2,5,5,5] , funciona bien.
Si registro la var en mi consola, se muestran los datos exactos, los mismos que puse en el código. ¿Por qué no se muestra el var?
2 cosas que parece que pueden ser el problema en mis ojos.
Primero, si orders ya son una matriz, debe eliminar los corchetes de la matriz envolvente al pasarlos a los datos de esta manera:
data: orders; Si lo que está en las órdenes es una gran cadena de números separados por , debe convertirlo en un gráfico de matriz. js lo entiende en lugar de una matriz con 1 cadena grande como esta:
data: orders.split(',');