Quiero crear un gráfico de columnas, usando la API de visualización de Google, puedo enviar los datos para rellenar la tabla de datos del gráfico en forma de matriz. Pero necesito generar el gráfico con un número variable de columnas/filas, dependiendo de lo que contengan mis matrices y no sé cómo iterarlas correctamente y agregarlas a DataTable.Cómo agregar dinámicamente filas/columnas a un gráfico de columna de Google
Aquí se muestra un ejemplo para analizar los datos estáticos para generar el gráfico: (todo esto es en javascript)
var data = google.visualization.arrayToDataTable([
['Year', 'Sales', 'Expenses'],
['2004', 1000, 400],
['2005', 1170, 460],
['2006', 660, 1120],
['2007', 1030, 540]
]);
El API tiene estos métodos para agregar columnas y filas: - método diferente para la obtención de la mismos datos que el anterior:
var data = new google.visualization.DataTable();
data.addColumn('string', 'Year');
data.addColumn('number', 'Sales');
data.addColumn('number', 'Expenses');
data.addRows([ ['2004', 1000 , 400], ['2005', 1170, 460], ['2006', 660, 1120], ['2007',1030,540]
]);
lo que necesito es un bucle o un doble bucle for para los ArrayLists que envío y añadir dinámicamente el contenido filas.
Para ser más preciso decir que `s en un caso que tendría los datos escritos anteriormente, y en otro caso tendrían que esto:
['Year', 'Sales', 'Expenses' , 'Other'],
['2004', 1000, 400 , 232 ],
['2005', 1170, 460 , 421 ],
['2006', 660, 1120 , 4324 ],
['2007', 1030, 540 , 4234 ],
['2008', 1530, 50 , 234 ],
así que habría analizar estos datos a través de parámetros en el función digamos (no sé si esta sería la ideea correcta) muchas listas de arreglos que contienen cada fila: Fila1 = ['2004', 1000, 400, 232] Fila2 = ['2005', 1170, 460, 421] y ....
¿Cómo puedo usar un bucle for, o un bucle for for para iterar las listas de arreglos que estoy enviando a dynamic generate the datatabl e (con números variables de filas y columnas) que contiene los datos?
Gracias por la respuesta. ¿Hay alguna forma de generar el gráfico en el que algunas filas contengan 0 para algunas columnas y no mostrar toda esa columna en el gráfico de esa fila? –
Sin problemas. Eso es de hecho posible. Consulte el método DataTable.setCell aquí: https://developers.google.com/chart/interactive/docs/reference#DataTable –
La clave para mí fue darse cuenta de que 'addRow' es una función diferente de' addRows' – khaverim