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

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




 


 


 

Prueba grafica

 

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

Juan Benitez

Fundador de Tecnopedia.net. Licenciado en Informática, desarrollador Web, Android y PHP. Apasionado de las tecnologías y el fútbol. Reparto mis días programando, creando sitios, apps o escribiendo en @Tecnopedianet... y sí, además tengo esposa y una hija ;)

View all posts by Juan Benitez →

16 thoughts on “Gráficas con PHP y Open Flash Chart 2

  1. 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.

  2. 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

  3. hola como puedo cambiar los datos de los ejes «x» «y» nada mas tiene del uno y del 10 quiro cambiarselo porfa ayuda

  4. 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.

  5. 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

  6. $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

  7. $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

  8. me salto este error:
    Fatal error: Class ‘title’ not found in C:\xampp\htdocs\xampp\www\TF\Paciente\grafica\chart_test.php on line 15

  9. Hola, he hecho funcionar las graficas, sin embargo, requiero poder cambiar las leyendas del eje x ya que nunca serán numeros sino algun texto obtenido segun que se quiera mostrar en la gráfica, si sabes como hacer esto te agradeceria pusieras un codigo de ejemplo (que me imagino es agregarle lineas al codigo que ya tienes).

    Salu2 y gracias de antemano.

  10. LOD_Fedy
    para poner letras tienes que definir los label de la siguiente forma:
    $x_labels = array(«Ene»,»Feb»,»Mar»,»Abr»,»May»,»Jun»,»Jul»,»Ago»,»Oct»,»Nov»,»Dic»);//creas los nombres cada label
    $x = new x_axis();
    $x->set_labels_from_array($x_labels);
    $chart->set_x_axis( $x );

  11. Buenas amigo, muy interesante tu post me sirvio a la perfeccion, ahora bien lo que no puedo hacer es como mostrar 2 graficas con distintos valores en una misma pagina

  12. Auxiliooo, tengo un sitio con graficos open flash chart y se veia a la perfeccion y hoy de repente no se por que no se ven. No me tira error ni nada, simplemente no lo muestra. Como si no anduviera mas el.flash o alguna actualizacion haya hecho q no se puedan generar mas. Que hagoooo???? Ayuda por favor..

Comments are closed.