Академический Документы
Профессиональный Документы
Культура Документы
GRFICAS
La API Google Chart permite dibujar grficas a medida, mapas, cartas y cdigos de barra mediante una sencilla interfaz web. POR MARTIN STREICHER
i una imagen vale ms que mil palabras, una grfica debe ser algo parecido a una novela. Con slo un vistazo puede transmitir el estado del mercado de valores, una tendencia en el trfico del sitio web, la distribucin de los votantes del pas y cmo se asignan los fondos en el presupuesto de los hogares. Adems, una grfica es sencillamente ms memorizable que una gran tabla repleta de nmeros. Sin embargo, curiosamente, muy pocos sitios web utilizan las grficas de forma ventajosa, ya que en gran medida crearlas requiere programacin nica y especializada de software del lado del servidor para reproducir los datos. Por ejemplo, si su sitio est basado en PHP, debe instalar pChart [1] (o similar), aadir la biblioteca de grficos GD, y escribir cdigo para producir un grfico de cualquier tipo. Idealmente, cualquier colaborador un editor, un escritor o un usuario aadiendo comentarios debera ser capaz de crear e integrar una grfica. Efectivamente, el dinamismo, la sencillez y la comodidad estn en el centro de la interfaz de programacin de aplicaciones (API) Google Chart [2], quizs descrita ms apropiadamente como software que como servicio (SaaS). Basta con crear una URL parametrizada en la forma http://chart.apis.google.com/chart?parameter1¶meter2¶meterN y dejar que Google Chart haga todo el trabajo pesado. Google Chart le permite hacer seis tipos de grficas, Google-O-meter, cdigo QR (una
especie de cdigo de barras) y mapas, y se pueden especificar un googol de personalizaciones, tales como barras de color, color de fondo, leyendas y ms. En este artculo voy a ayudarle a iniciarse en Google Chart. Aprender cmo dibujar grficos y cmo aadir efectos especiales para mejorar sus creaciones grficas.
Trazado 101
Para generar una grfica con Google Chart hay que proporcionar el prefijo http://chart. apis.google.com/chart?, el tipo de grfica (como tarta o lnea), su tamao, sus datos y cualesquiera parmetros especficos del grfico, como los colores y las etiquetas de los ejes, para ajustar el resultado final.
Figura 1: Una sencilla grfica de lneas generada por la API Google Chart.
Todas las opciones de la grfica se establecen mediante parejas clave = valor. Algunas claves son comunes a todos las grficas, mientras que otras son exclusivas de un determinado tipo de grfica. La sintaxis para el valor especificado en la pareja tiende a variar segn el tipo de grfica. El tamao de la grfica se mide en pxeles y se especifica con el parmetro chs=WxH, donde W es la anchura y H la altura. Por ejemplo, chs=200x100 genera una grfica de 200 pxeles de ancho y 100 pxeles de alto. (El rea de un mapa no puede ser superior a 440 pxeles de ancho por 220 pxeles de alto. Para todas las dems grficas, la anchura o la altura no pueden superar los 1000 pxeles, siendo la superficie mxima de 300.000 pxeles cuadrados). El tipo de grfica se elige con cht=tipo, donde tipo es una de las varias constantes predefinidas. Por ejemplo, para hacer un grfico de lneas con puntos equidistantes en el eje x, especifique cht=lc. Para cada tipo de grfica, puede encontrar la constante apropiada en la documentacin de Google Chart. Los datos de la grfica se pueden facilitar en varios formatos; desde una simple lista de datos en crudo, a una coleccin de cdigos alfanumricos para asignar valores en una escala predefinida. Normalmente, un conjunto de datos en crudo es una lista de valores separados por comas, y un conjunto de datos codificados es una cadena contigua de caracteres alfanumricos. Por ejemplo, para proporcionar datos como texto sin formato, utilice chd=t:valores, donde valores es una lista de nmeros positivos en punto flotante entre 0 y 100 separados por comas. El _ (subrayado) puede utilizarse como un marcador de posicin para indicar la falta de un dato. Los conjuntos mltiples de datos estn delimitados por el | (tubera o barra vertical). Para demostrarlo, abra un navegador y escriba la URL http://chart.apis.google. com/chart?cht=lc&chs = 500x400&chd=t:7,3,9,2, 0,7,9|15,15,18,11,0,16,12& chco=FF0000,00FF00 en la barra de direcciones. Como puede adivinarse, el parmetro chco lista los valores RGB para colorear cada conjunto de datos. La Figura 1 presenta otro ejemplo de una grfica
auris, Fotolia
WWW.LINUX- MAGAZINE.ES
Nmero 47
41
este artculo abarca intencionadamente varias lneas para una mejor legibilidad). En resumen, chtt proporciona el ttulo de la grfica. Los datos se suministran como valores en crudo expresados en texto simple, pero debido a que son mayores que 100, chds establece un valor mnimo y mximo para normalizarlos como porcentaje. (En este caso, como los dos conjuntos de datos estn dentro de la misma gama, un valor mnimo y mximo son suficientes para ambos conjuntos. Sin embargo, si cada uno de ellos se dibujan con su propio rango, se necesitan un valor mnimo y mximo para cada grupo). El parmetro chxt se combina con chxl y chxp para crear y colocar las etiquetas de los ejes. Y lo crea o no, dibujar una grfica es as de sencillo! Para incrustar un grfico en una pgina web, utilice una etiqueta img y establezca en su atributo src la URL de la grfica, indique tambin una descripcin de la grfica en el atributo alt.
Figura 2: La divisin de los estados rojos (Republicanos) y azules (Demcratas) en las elecciones presidenciales de EE.UU. en el 2004.
Creador de Mapas
de lneas, incluidas las etiquetas. La URL utilizada para generar la grfica se muestra en el Listado 1. (Cada URL que aparece en Dibujar un mapa con el servicio Google Chart es tan sencillo como cualquier otro grfico: En primer lugar se especifica el grfico mapa, se selecciona una regin del mundo a dibujar y, a continuacin, los datos asociados con cada pas, provincia o estado
42
Nmero 47
WWW.LINUX- MAGAZINE.ES
que se encuentran en el mapa. Los datos especifica la codificacin del texto. El parListado 3: Informacin de pueden ser discretos; por ejemplo, para metro chld determina la cantidad de Contacto en Cdigo QR representar a los estados rojos o azules en correccin de errores en la imagen. (Q 01 http://chart.apis.google.com/ Estados Unidos; o continuos. Adems, puede introduce tanta informacin duplicada que chart? asociar un color con el mnimo y mximo en puede ser destruido el 25 por ciento del 02 cht=qr& un rango y Google Chart crea los valores cdigo QR sin que la legibilidad se 03 chs=200x200& intermedios en colores graduados. resienta). chl es el texto a codificar, por lo 04 choe=UTF-8& Por ejemplo, el Listado 2 genera un general proporcionado como una URL que 05 chld=Q& mapa de los Estados Unidos que muestra despus es interpretado por una aplica06 chl=mailto:martin. cmo votaron los estados en las elecciones cin. streicher@gmail.com presidenciales de 2004. En la Figura 2 Si tienes un telse presenta el resultado. fono mvil, puedes En el Listado 2, cht=t selecciona el descargar BeeTagg para modificar las grficas sobre la marcha grfico mapa, chtm=usa elige a los [3] de forma graen respuesta a la entrada del usuario. Estados Unidos como regin y tuita, hacer una foto Chart Maker [6] es una bsica pero eficaz CHS=440x220 dibuja el mapa ms de la Figura 3, y desdemostracin de grficas dinmicas; otros, grande posible. En el grfico mapa, cifrar los resultados sin embargo, han utilizado la API Google chco=FF0000,0000FF,0000FF especipara enviarme un Chart para implementar una calculadora fica el color predeterminado de cada Figura 3: La direccin de mensaje de correo de prstamos y tableros de mando para estado (rojo), y el comienzo y el final correo electrnico del electrnico. (Como ejecutivos. de color (ambos en azul) del degra- autor capturada en un alternativa, Google Por supuesto que Google Chart es a dado. cdigo QR. ofrece una bibliomenudo ms lento que las herramientas de El parmetro chld contiene el cdigo teca gratuita para la grficas que se ejecutan en el escritorio, de dos letras de cada uno de los estados lectura de cdigos QR llatales como Apple Numbers o ganados por el candidato presidencial mada Zebra Crossing [4][5] Microsoft Excel. Estas ltimas Demcrata. Por ltimo, chd=s: selecciona y un lector de cdigo de aplicaciones utilizan motores de el esquema de codificacin de datos simbarras en lnea experimendibujo nativo y no necesitan ir y plificados, en el que todos los valores tal que interpreta las imvenir a Internet para transmitir deben estar representados por uno de A-Z, genes que subas). datos y descargar una gran imaaz y 0-9, donde A es el mnimo y 9 el Un cdigo QR puede gen. Sin embargo, Google Chart mximo. En otras palabras, el esquema de capturar hasta 4.296 carac- Figura 5: Representando es una aplicacin gratuita que codificacin de datos simplificados proporteres. La Figura 4, por ejem- valores positivos y nega- est disponible desde cualquier ciona una granularidad de 62 valores displo, codifica una vCard tivos en una diagrama de lugar. Si se toma en serio el uso tintos. Dado que todos los estados son de completa. barras. de Google Chart en un entorno color rojo de manera predeterminada, en produccin, la creacin preHaz una Grfica de tu via y el almacenamiento en cach pueden cualquier estado con cualquier otro valor Corazn aqu, A es de color azul. mejorar en gran medida el tiempo de resI Google Chart tambin proporciona La API Google Chart es muy sencilla de puesta. mapas para frica, Asia, Europa, Oriente usar y fcil de integrar en las aplicaciones Medio, Sudamrica y todo el globo. web. Como se muestra aqu, puede utiliRECURSOS zarse de inmediato; slo hay que insertar [1] El framework para grficos con PHP Canjeando Cdigos de Barras un enlace en nuestra pgina web y dejar pChart: http://pchart.sourceforge.net/ En el adelantado Japn, los nios comparque el navegador solicite y haga una gr[2] Documentacin de la API de grficos ten la informacin de contacto en una verfica cada vez que la pgina se dibuja. de Google: http://code.google.com/ dadera moda digital: los cdigos de barras Para aumentar la velocidad de creacin apis/chart/ de intercambio. Ahora, tambin nosotros de la pgina podemos solicitar la imagen [3] BeeTagg: http://www.beetagg.com/ podemos hacerlo. Google Chart proporde la grfica y colocarla en la cach en [4] La biblioteca libre de Google para la ciona una API para codificar hasta 4296 nuestro propio servidor, rehacindola solalectura de cdigos de barra Zebra caracteres en un glifo mente cuando cambien los Crossing: http://code.google.com/p/ monocromo y bidimensiodatos subyacentes. Adems de zxing/ nal llamado cdigo QR. proporcionar una mayor efica[5] Una gua para codificar datos en cdiPara empezar, voy a codicia, esta tcnica protege mejor gos QR: http://code.google.com/p/ ficar mi direccin de correo sus datos en crudo. Un visizxing/wiki/BarcodeContents electrnico en un cdigo tante del sitio web no podr [6] Un sencillo generador de grficos QR. El Listado 3 muestra Ver el cdigo fuente de la Google: http://almaer.com/ cmo se ha creado la imapgina y copiar la URL. chartmaker/ gen de la figura 3. Figura 4: Una vCard comNaturalmente, tambin pue[7] La biblioteca de grficos JFreeChart: Cuando se utiliza la gr- pleta representada como den mezclarse la API Google http://www.jfree.org/jfreechart/ fica de cdigo QR, choe cdigo QR. Chart con las tcnicas AJAX
WWW.LINUX- MAGAZINE.ES
Nmero 47
43