Versión en PDF

Gráficas con PHP y Open Flash Chart 2

En esta oportunidad veremos como generar gráficas profesionales con Open Flash Chart 2, este componente nos permite crear diferentes tipos de gráficas en Flash, entre las opciones que nos ofrece tenemos gráficas de barras, de lineas, de tortas (pies), etc. 

Open Flash Chart es un software open source y esta bajo la licencia LGPL, por lo que como siempre recordamos es posible acceder al código y contribuir con el desarrollo del proyecto en la forma que ustedes quieran. La version 2 de Open Flash Chart esta desarrollada con Actionscript 3 y compilada con Flex. 

Entre las principales características encontramos:

- tooltips en cada punto de la gráfica

- permite exportar la gráfica como imágen

- diferentes tipos de gráficas: lineas, barras, barras 3D, tortas, áreas y más.

- varias librerías disponibles  (php, java, python, etc) 

- carga de datos en formato JSON

Generar la gráfica desde PHP

En este ejemplo vemos como generar datos para la gráfica en forma dinámica, como siempre mostramos un ejemplo simple para que se entienda mejor, pero es claro que en una aplicación real el origen de los datos puede ser una base de datos, archivos, etc.

chat_test.php

<?php
//incluimos la libreria para PHP
include './php-ofc-library/open-flash-chart.php';
 
//datos de prueba
$datos = array(1,2,3,4,5,6,7,8,9);
 
//creamos el titulo de la grafica, en este caso la fecha de hoy
$title = new title( date("D M d Y") );
 
//creamos las barras simples para la grafica
$bar = new bar();
//seteamos los valores para la grafica 
$bar->set_values( $datos );
 
//creamos la grafica
$chart = new open_flash_chart();
//agregamos el titulo y las barras
$chart->set_title( $title );
$chart->add_element( $bar );
 
//generamos los datos en formato JSON    
echo $chart->toString();
 
?>

 

Nótese que lo único que genera este script es una cadena de texto con formato JSON donde se encuentran todos los datos de la gráfica que queremos generar (colores, tipos, valores, etc), esto lo consigue mediante el método toString() de la última línea.

Para asociar este script con el código HTML debemos escribir lo siguiente:

grafica.html

 
<html>
<head>
<!-- usamos esta libreria javascript que viene incluida en la descarga --> 
<script type="text/javascript" src="js/swfobject.js"></script>
<script type="text/javascript">
swfobject.embedSWF("open-flash-chart.swf", "my_chart", "550", "200", "9.0.0", "expressInstall.swf", {"data-file":"chart_test.php"});
</script>
 
</head>
<body>
 
<p>Prueba grafica</p>
 
<div id="my_chart"></div>
 
</body>
</html>

 

Vemos que para generar el código usamos una librería javascript que es proporcionada por el autor del software, esto nos evita las molestias de escribir todo el código HTML para insertar un objeto Flash el cual es bastante entreverado y no nos aporta nada.
El objeto SWF acepta como parámetro el nombre del archivo que proporcionará los datos de la gráfica. 

Para finalizar solo nos resta decir que es posible generar gráficas dinámicas con Open Flash Chart de forma profesional, simple  y con un muy buen look.  Además, el sitio oficial cuenta con excelente información y varios tutoriales que te ayudarán en tus futuros desarrollos.

Mas información:

Sitio Open Flash Chart 2

VN:F [1.6.3_896]
Te gusto este post?
Rating: 10.0/10 (1 vote cast)
Comparte el artículo:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • MySpace
  • StumbleUpon
  • Technorati
  • Print
  • email
  • Twitthis

Tags: , , , , ,

Tambien te puede interesar...


9 Comentarios »

  1. Trackback por Bitacoras.com — April 27, 2009 @ 10:54 pm

    Información Bitacoras.com…

    Valora en Bitacoras.com: En esta oportunidad veremos como generar gráficas profesionales con Open Flash Chart 2, este componente nos permite crear diferentes tipos de gráficas en Flash, entre las opciones que nos ofrece tenemos gráficas de barras,…

  2. Comentario por pablo — June 10, 2009 @ 6:45 pm

    hola me sale este error

    Open Flash Chart
    IO ERROR
    Loading test data
    Error #2032: Error de secuencia. URL: http://localhost/q/chart_test.

    This is the URL that I tried to open:chart_test.php

    ayudame con este error

  3. Comentario por Juan Benitez — June 10, 2009 @ 9:00 pm

    Hola Pablo, verifica en el archivo grafica.html que la ruta al script chart_test.php sea la correcta. Por lo que veo, chart_test.php esta dentro del directorio “q”, asegurate que la linea del html diga esto:

    {”data-file”:”./q/chart_test.php”});

    saludos, Juan.

  4. Comentario por zarate — July 29, 2009 @ 8:20 pm

    soy nuevo en esto ise lo q comentaste pero me jenera un error cheque las librerias y hasta el ultimo comentario q isiste en tu foro pero me sigue generadndo o alo mejor es porq utlizo ubunto ayuda este es el error Open Flash Chart
    IO ERROR
    Loading test data
    Error #2032

  5. Comentario por zarate — July 30, 2009 @ 1:40 pm

    hola como puedo cambiar los datos de los ejes “x” “y” nada mas tiene del uno y del 10 quiro cambiarselo porfa ayuda

  6. Comentario por Juan Benitez — August 1, 2009 @ 1:59 pm

    Hola zarate puedes cambiar los valores máximos y mínimos usando el siguiente codigo:

    // crear el objeto para manejar el eje x
    $x = new x_axis();
    $x->set_range(5, 20); //seteamos el valor máximo y mínimo
    ….
    ….
    //no olvides setear tu nuevo eje x en la gráfica
    $chart->set_x_axis( $x );

    de la misma forma puedes hacerlo para el eje y .
    Espero haberte ayudado, saludos.

  7. Comentario por zarate — August 3, 2009 @ 3:29 pm

    si me seirvio pero hay un pequño promblema lo q pasa al momento de modificar los ejes se distorciona porq el tamaño de la grafica no se hase grande y los valores se no se notan, y no manera q la garfica se haga granade con los valores q se le dan solamente funciona para datos pequeños

  8. Comentario por zarate — August 3, 2009 @ 4:01 pm

    $w=new w();
    $w->set_width(60);
    $chart->set_width($w);
    vi en el codigo para poder cambair el ancho pero falle en algo no se q sea aaa y el objeto ed de uno por uno el rango y se ditorciona en lo ejes jaaa muchass molestiass

  9. Comentario por zarate — August 3, 2009 @ 4:03 pm

    $w=new w();
    $w->set_width(60);
    $chart->set_width($w);
    vi en el codigo para poder cambair el ancho pero falle en algo no se q sea aaa y el objeto, y en rango y se ditorciona en lo ejes jaaa muchass molestiass

RSS feed para comentarios de este post. TrackBack URI

Deja un comentario

Security Code:




Tecnopedia.net - 2009 / Condiciones de Uso / Contacto / RSS
Tecnopedia.net desarrollada bajo licencia Creative Commons Creative Commons License