Archivo de la categoría "CSS"

Creando gráficas para tu web con Google Chart Api

Miércoles, 2 de Abril de 2008

Grafico de pruebaGoogle Chart Api te permite crear una gran variedad de gráficas de datos de manera dinámica. Esta api nos devuelve una imagen en formato .png , cuya URL puedes incrustar directamente en las etiquetas <img>.

La URL de la imagen debe de tener el siguiente formato:

http://chart.apis.google.com/chart? parametro_1parametro_2 parametro_n

Así con todos los parámetros que necesites, siempre separados por &. Recuerda que al poner la URL en la etiqueta <img> de tu HTML debes cambiar el & por &amp;

Los parámetros obligatorios son: el tamaño de la gráfica (chs), el tipo de gráfica (cht), y los datos (chd). El resto de los parámetros son opcionales, puedes verlos todos en la Developer’s Guide.

¿Como especificamos cada parámetro?

El tamaño de la gráfica (chs) : chs=(ancho)x(alto) donde chs indica el tipo de información que mandamos en este caso tamaño (chart size) y las unidades en pixeles. Ejemplo: chs=300×200.

El área de la imagen debe ser menor a 300,000 pixeles. Esto es, la multiplicación del ancho por el alto no debe superar esta cifra. Las gráficas circulares son recortadas si son muy pequeñas, para solucionarlo debes de poner una anchura equivalente a dos veces su altura para las gráficas en 2D, y 2 veces y medio para las de 3D.

Para los mapas el tamaño máximo 440px de ancho y 220px de alto.

El tipo de gráfica(chd): cada estilo de gráfica tiene un parámetro para referirse a ella, la gráfica de arriba es la p3 y las de abajo la bhs y lxy respectivamente. Puedes ver todos los tipos aquí.

Los datos de la gráfica(chd): deben de ser codificados de tal forma que la API de Google los entienda. Se puede hacer de varias maneras pero me voy a centrar en la mas sencilla, codificación de texto:

Solo nos permite utilizar números positivos de punto flotante de cero a cien. Dependiendo del tipo de gráfico que elijas debes pasarle los datos de una manera o de otra pero la estructura general es algo así: chd=t: 10.0,58.0,95.0 | 30.0,8.0,63.0 | ... |... donde:

chd = indica el tipo de información que mandamos, en este caso mandamos los datos para la representación de la gráfica por tanto es chd (chart data).

t = indica el tipo de codificación, en este caso codificación de texto.

10.0,58.0,95.0 = los datos de la gráfica separados por comas.

|= para separar conjuntos de datos. Si solo tienes que utilizar un conjunto de datos no lo tienes que utilizar.

Unos ejemplos para que te queda claro serían:

Para las gráficas donde debes especificar la coordenada en un ÚNICO eje, tanto X como Y, sería asi:

chd=t: x1,x2,x3,x4

Grafico de prueba

http://chart.apis.google.com/chart?chs=200×100&cht=bhs&chd=t:20,25,40,60

En este caso le decimos que el tamaño sea de 200×100 pixeles, el tipo de gráfica bhs, y los datos de la gráfica para el eje X.

Para las gráficas donde debes especificar la posición en ambas coordenadas, sería así:

chd=t: x1,x2,x3,x4 | y1,y2,y3,y4

Si quisieramos especificar mas de un conjunto de datos sería chd=t: x1,x2,x3,x4 | y1,y2,y3,y4 | xa1, xa2, xa3, xa4 |ya1, ya2, ya3, ya4 y así sucesivamente si necesitásemos mas.

Grafico de prueba

http://chart.apis.google.com/chart?&chs=200×100&cht=lxy&chd=t:0,30,60,100|60,20,40,30|10,60,100|30,60,10|13,23,45,100|90,66,22,45

En este caso le decimos que el tamaño sea de 200×100 pixeles otra vez, el tipo de gráfica lxy, y los 3 conjuntos de datos para los ejes X e Y.

Para opciones y personalización mas avanzadas; colores, rangos, etiquetas de texto, degradados, leyenda, cuadriculas, etc. tienes toda la información en la Developer’s Guide.

Espero que haya servido de algo.

Aplicando CSS exclusivo para IE y probándolo con IETester

Jueves, 27 de Marzo de 2008

Como sabemos IE no es de lo mejorcito a la hora de traducir las hojas de estilo, por lo que a veces nos vemos obligados a realizar pequeñas chapuzas para que nuestra pagina se vea correctamente en el Explorer. Para ello utilizamos los comentarios condicionales para IE

Estos comentarios son solo para Internet Explorer, no sirven para ningún otro navegador. Todo lo que encierren dentro se ejecutará unicamente en IE. Hay diferentes opciones:

Para todas las versiones de IE

<!–[if IE]>> Código CSS <![endif]–>

El código anterior afecta a todas las versiones de Internet Explorer, en cambio con el siguiente podemos especificar la version (5.01, 5.5, 6.0…)

<!–[if lte IE 6]> Código CSS<![endif]–>

En los anteriores ejemplos el código CSS va entre los comentarios, pero es recomendable para una mayor organizacioón llamar a una hoja de estilos externo que solo contendría el codigo CSS necesario para cargar correctamente la web en el Explorer tambien podemos llamar a una hoja de estilos externa. Para ello sustituiriamos “Código CSS” por &lt;link rel="stylesheet" type="text/css" href="URL_del_archivo.css" /&gt;.

Aqui un resumen de todas las posibilidades que tenemos con los condicionales, donde la palabra versión debe ser sustituida por el número de versión de IE sobre el que quieres trabajar:

    IE (Cualquier versión de IE)
    lt IE version (Versiones inferiores a la versión especificada)
    lte IE version(Versiones inferiores o iguales que la versión especificada )
    IE version (Solo la versión especificada)
    gte IE version (Versiones superiores o igual que la versión especificada)
    gt IE version (Versión superiores a la versión especificada)

Los comentarios condicionales no funcionan en la versión de IE para Mac y si tienes instaladas varias versiones de Internet Explorer en tu equipo, no funcionarán ya que la versión que se toma es la que esta registrada en el sistema. Para solucionar este problema podemos descargarnos IETester en versión alpha, un navegador que nos permite trabajar sobre los motores de las versiones 8 beta 1, 7, 6 y 5.5 de IE en una sola aplicación.

ietester

Al estar en versión alpha puedes encontrarte con algunos errores, los conocidos son:

    Cuando redimensionas la ventana el contenido puede desaparecer.
    El focus y los botones de Atrás y Siguiente no funcionan correctamente.

Si quieres ayudar a acabar con este problema no te pierdas esta entrada sobre la iniciativa Save the Developers en el blog de keko.