Descripción general
Un gráfico dinámico para explorar varios indicadores a lo largo del tiempo. El gráfico se procesa en el navegador mediante Flash.
Nota para desarrolladores: Debido a la configuración de seguridad de Flash, es posible que esta (y todas las visualizaciones basadas en Flash) no funcionen correctamente cuando se acceda a ella desde la ubicación de un archivo en el navegador (p.ej., file:///c:/webhost/myhost/myviz.html) en lugar de una URL de servidor web (p.ej., http://www.myhost.com/myviz.html). Por lo general, este es solo un problema de prueba. Puedes solucionar este problema como se describe en el sitio web de Adobe.
Ejemplo
(Ten en cuenta que el siguiente código no funcionará cuando se cargue como un archivo local; debe cargarse desde un servidor web).
<html> <head> <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> <script type="text/javascript"> google.charts.load('current', {packages:["motionchart"]}); google.charts.setOnLoadCallback(drawChart); function drawChart() { var data = new google.visualization.DataTable(); data.addColumn('string', 'Fruit'); data.addColumn('date', 'Date'); data.addColumn('number', 'Sales'); data.addColumn('number', 'Expenses'); data.addColumn('string', 'Location'); data.addRows([ ['Apples', new Date (1988,0,1), 1000, 300, 'East'], ['Oranges', new Date (1988,0,1), 1150, 200, 'West'], ['Bananas', new Date (1988,0,1), 300, 250, 'West'], ['Apples', new Date (1989,6,1), 1200, 400, 'East'], ['Oranges', new Date (1989,6,1), 750, 150, 'West'], ['Bananas', new Date (1989,6,1), 788, 617, 'West'] ]); var chart = new google.visualization.MotionChart(document.getElementById('chart_div')); chart.draw(data, {width: 600, height:300}); } </script> </head> <body> <div id="chart_div" style="width: 600px; height: 300px;"></div> </body> </html>
Cargando
El nombre del paquete google.charts.load
es "motionchart"
.
google.charts.load('current', {'packages': ['motionchart']});
El nombre de clase de la visualización es google.visualization.MotionChart
.
var visualization = new google.visualization.MotionChart(container);
Formato de datos
- La primera columna debe ser del tipo "string" y contener los nombres de las entidades (p.ej., "Manzanas", "Naranjas", "Bananas" en el ejemplo anterior).
- La segunda columna debe contener los valores de hora. La hora se puede expresar en cualquiera de los siguientes formatos:
- Año: Tipo de columna: "número". Ejemplo: 2008.
- Mes, día y año: Tipo de columna: “fecha”; los valores deben ser instancias
Date
de JavaScript. - Número de semana: Tipo de columna: “string”; los valores deben usar el patrón YYYYWww, que de acuerdo con la ISO 8601 se establece. Ejemplo: "2008W03".
- Quarter: Tipo de columna: "string". Los valores deben tener el patrón AAAAQq, que cumple con ISO 8601. Ejemplo: "2008Q3".
- Las columnas siguientes pueden ser del tipo “número” o “cadena”. Las columnas de números se mostrarán en los menús desplegables para los ejes X, Y, Color y Tamaño. Las columnas de strings solo aparecerán en el menú desplegable de Color. Consulta el ejemplo anterior.
Cómo establecer el estado inicial
Puedes indicar que el gráfico en movimiento comience con un estado específico, es decir, un conjunto de entidades seleccionadas y personalizaciones de vistas. Para ello, primero deberás crear y mostrar el gráfico; luego, realizar los cambios de estado que quieras que muestre (selecciona valores, cambia la configuración, etc.) y, luego, exporta esta configuración como una cadena y, por último, usa esta cadena en tu código y asígnala a la opción “estado”. En las siguientes dos secciones, se describe cómo exportar y, luego, usar el código de estado.
- Abre un gráfico de trabajo y establece la configuración que quieres capturar. Entre los parámetros de configuración que puedes especificar, se incluyen los niveles de opacidad, el zoom y el escalamiento logarítmico frente al lineal.
- Para abrir el Panel de configuración, haz clic en el símbolo de llave inglesa que se encuentra en la esquina inferior derecha del gráfico.
- Haz clic en el vínculo Advanced en la esquina inferior izquierda para agregar el panel Advanced al conjunto.
- Expande el panel Advanced y copia el contenido del cuadro de texto State en tu portapapeles. (Nota: En lugar de usar el menú, que se describe en los pasos 2 a 4, puedes insertar un botón en tu página que llame a
getState()
y muestre el estado actual en un cuadro de mensaje). - Asigna la cadena de estado que copiaste en el paso anterior al parámetro de opciones "state" de tu código, como se muestra aquí. Cuando se pasa al método
draw()
, el gráfico se inicializa en el estado especificado al inicio.
var options = {}; options['state'] = '{"iconKeySettings":[],"stateVersion":3,"time":"notime","xAxisOption":"_NOTHING","playDuration":15,"iconType":"BUBBLE","sizeOption":"_NOTHING","xZoomedDataMin":null,"xZoomedIn":false,"duration":{"multiplier":1,"timeUnit":"none"},"yZoomedDataMin":null,"xLambda":1,"colorOption":"_NOTHING","nonSelectedAlpha":0.4,"dimensions":{"iconDimensions":[]},"yZoomedIn":false,"yAxisOption":"_NOTHING","yLambda":1,"yZoomedDataMax":null,"showTrails":true,"xZoomedDataMax":null};'; options['width'] = 600; options['height'] = 400; chart.draw(data, options);
Opciones de configuración
Nombre | Tipo | Predeterminado | Descripción |
---|---|---|---|
height | número | 300 | Es la altura del gráfico en píxeles. |
width | número | 500 | Es el ancho del gráfico en píxeles. |
state | cadena | none | Un estado de visualización inicial del gráfico. Este es un objeto JSON serializado que describe el nivel de zoom, las dimensiones seleccionadas, las burbujas o entidades seleccionadas y otras descripciones de estados. Consulta Cómo configurar el estado inicial para obtener información sobre cómo configurarlo. |
showChartButtons | boolean | verdadero | false oculta los botones que controlan el tipo de gráfico (burbujas / líneas / columnas) en la esquina superior derecha. |
showHeader | boolean | verdadero | false oculta la etiqueta de título de las entidades (derivada de la etiqueta de la primera columna en la tabla de datos). |
showSelectListComponent | boolean | verdadero | false oculta la lista de entidades visibles. |
showSidePanel | boolean | verdadero | false oculta el panel derecho. |
showXMetricPicker | boolean | verdadero | false oculta el selector de métricas para x. |
showYMetricPicker | boolean | verdadero | false oculta el selector de métricas para y. |
showXScalePicker | boolean | verdadero | false oculta el selector de escala para x. |
showYScalePicker | boolean | verdadero | false oculta el selector de escala para y. |
showAdvancedPanel | boolean | verdadero | false inhabilita el compartimento de opciones en el panel de configuración. |
Métodos
Método | Tipo de datos que se muestra | Descripción |
---|---|---|
draw(data, options) |
ninguno | Dibuja el gráfico con las opciones proporcionadas. |
getState() |
cadena | Muestra el state actual del gráfico de movimiento, serializado en una string JSON. Para asignar este estado al gráfico, asigna esta cadena a la opción state en el método draw() . A menudo, se usa para especificar un estado de gráfico personalizado al inicio, en lugar de usar el estado predeterminado. |
Eventos
Nombre | Descripción | Propiedades |
---|---|---|
error |
Se activa cuando se produce un error cuando se intenta renderizar el gráfico. | ID, mensaje |
lista | El gráfico está listo para llamadas de método externas. Si deseas interactuar con el gráfico y llamar a los métodos después de dibujarlo, debes configurar un objeto de escucha para este evento antes de llamar al método de dibujo, e llamarlos solo después de que se haya activado el evento. | Ninguno |
cambio de estado | El usuario interactuó con el gráfico de alguna manera. Llama a getState() para conocer el estado actual del gráfico. |
Ninguno |
Política de Datos
Todo el código y los datos se procesan y renderizan en el navegador. No se envían datos a ningún servidor.
Notas
Debido a la configuración de seguridad de Flash, es posible que esta (y todas las visualizaciones basadas en Flash) no funcione correctamente cuando se acceda a ella desde la ubicación de un archivo en el navegador (por ejemplo, file:///c:/webhost/myhost/myviz.html) en lugar de una URL de servidor web (por ejemplo, http://www.myhost.com/myviz.html). Por lo general, este es solo un problema de prueba. Puedes solucionar este problema como se describe en el sitio web de Macromedia.