Graficos Estadísticos: Open Flash Chart
En este post, voy a mostrarles una excelente herramienta para gráficos estadísticos: Open Flash Chart.
Gráfico de barras: (en el código fuente de ejemplo, que encontrarán más abajo para descargarlo, van a encontrar un ejemplo de un gráfico circular, con los comentarios respectivos).
Primero, creamos un archivo que contendrá el gráfico:
Grafico.php
Requiero la librería para graficar:
require_once 'ofc/php-ofc-library/open_flash_chart_object.php';
Creamos el objeto flash, asignando el ancho y el alto, el nombre y ruta del archivo a graficar:
open_flash_chart_object( 600, 380, 'Barra3D.php',false ,"ofc/");
Ahora creamos el archivo que contendrá los parámetros del gráfico:
Barra3D.php
Requerimos el archivo necesario para graficar:
require_once 'ofc/php-ofc-library/open-flash-chart.php';
Creamos un arreglo con los valores que vamos a comparar:
$valores = array('Producto A', 'Producto B', 'Producto C', 'Producto D');
Se crea una instancia de la clase bar_3d (la primer barra), indicamos la transparencia (100) y el color de la barra.
Luego asignamos la referencia (Sucursal 1) con su tamaño de fuente (10)
$barra1 = new bar_3d(100, '#E98A45');
$barra1->key('Sucursal 1', 10);
Asignamos valores aleatorios para esta barra (que pertenece a la sucursal 1). Se asignan 4 valores, ya que los productos son 4 (A, B, C y D)
for ( $i = 0; $i < 4; $i++ ) { $barra1->data[] = rand(3,7);
}
Con esto terminamos con la primer barra del gráfico.
Entendido esto, creamos la segunda barra (sucursal 2), con un color diferente, y asignamos también valores aleatorios.
$barra2 = new bar_3d(100, '#0979CC');
$barra2->key('Sucursal 2', 10);
for ($i = 0; $i < 4; $i++) { $barra2->data[] = rand(2,5);
}
Ya tenemos las dos barras para el gráfico de este ejemplo.
Ahora crearemos una instancia de la clase “graph”:
$grafico = new graph();
Asignamos el título para el gráfico y el formato (de dicho título). Enviamos 2 parámetros al método: título y estilo:
$grafico->title('Grafico Ejemplo',
'{font-size:18px;
color: #FFFFFF;
margin: 5px;
background-color: #333333;
padding:5px;
padding-left: 20px;
padding-right: 20px;}'
);
Agregamos las dos barras al gráfico.
$grafico->data_sets[] = $barra1; $grafico->data_sets[] = $barra2;
Se asignan los valores para el eje X (Productos A, B, C y D)
$grafico->set_x_labels($valores);
Punto máximo del eje Y (desde 0 a 20)
$grafico->set_y_max(20);
Cantidad de puntos para el eje Y (0, 4, 8, 12, 16, 20)
$grafico->y_label_steps(5);
Leyendas tanto para ej eje X e Y. Con el tamaño de fuente y el color.
$grafico->set_y_legend('Cantidad', 16, '#736AFF');
$grafico->set_x_legend('Productos', 16, '#736AFF');
Agrego una imágen de fondo.
Indico la ruta de la imágen y la posición en que se encontrará en el gráfico.
$grafico->set_bg_image('img/logo.png', '350', '90');
Finalmente, muestro el gráfico en pantalla:
echo $grafico->render();
Para ver el gráfico, debemos abrir el archivo “Grafico.php”.
Tengan mucha paciencia con esta herramienta, y tengan en cuenta que los archivos temporales pueden jugarles una mala pasada.
Ejemplo | Código Fuente | Open Flash Chart
También te puede Interesar
¿Disfrutaste esta entrada? Por qué no dejas un comentario abajo y continúas la conversación, o te suscribes a mi feed y obtienes artículos como este enviados a tu lector de feeds.
Comentarios
Hola, gracias por la pagina, inento imstalar y manejar FusionCharts pero hasta ahora no lo he logrado, me pueden colaborar por favorr. ayudaría mucho ami trabajo
Quedare agradecida siempre
Hola Diego, buen tutorial, hice un ejemplo con esta libreria para un sistema que estoy desarrollando sobre graficos pero el unico problema que tengo es cuando los nombres de las barras o las leyendas tienen acentos o tildes, luego de eso el grafico ya no se genera bien. Hay alguna manera de que esta libreria acepte acentos o tildes?
gracias por responder tan rapido, olvide que podia usar la funcion utf8_encode, la use y me funciono correctamente.
Gracias!!!
Saludos!!!
Hola, he intentado varios tutoriales de Open Flash Chart y no resuelvo el problema, lo cierto es que siempre obtengo el mimso error, no encuentra la clase graph, que incluso aparece en el tutorial de la pagina principal de la libreria.Saludos y te agradeceria si pudieras informarme al respecto




Hola que tal?
Oye, hay manera de recibir tus actualizaciones por correo?, nos puedes facilitar una casilla para registrarnos en tu boletín de articulos?, sería un placer recibir tus valiosos aportes directamente al correo para no pasarme ni una, y por supuesto visitar el blog
Saludos