Open Flash Chart – Mas Graficas para PHP

24 06 2008

Luego de ver el gran numero de visitas y comentarios que ha tenido el post sobre PHP/SWF Charts y tal como lo prometi, comento a continuación otra libreria para PHP que nos sirve para generar un gran numero de graficas estadisticas y que además es completamente libre.

Se trata del proyecto Open Flash Chart, creado inicialmente por John Glazebrook y posteriormente mejorado y ampliado por varios colaboradores a otros lenguajes como Python, Perl, Java y .NET.

De forma similar a la libreria PHP/SWF Charts, Open Flash Chart consta basicamente de dos scripts en PHP (aunque como lo dije anteriormente la libreria ya está disponible para otros lenguajes), el archivo que contiene los datos que se van a graficar (el cual podria ser completamente dinamico, haciendo consultas a bases de datos) y el archivo que contiene la instruccion de inserción del grafico que consta de dos lineas, la de inclusion de la libreria y la linea del llamado a la funcion que dibuja nuestra grafica.

Un pequeño ejemplo

A continuación voy a reproducir un ejemplo sencillo que se encuentra disponible en la web del proyecto, a fin de comprender un poco mejor el funcionamiento de la libreria y notar la similitud con la libreria PHP/SWF Charts que comentaba en un post anterior.

  1. Instalar los archivos: Lo primero que debemos hacer es descargar la ultima version estable de la libreria. El archivo descargado es un comprimido en ZIP que debemos extraer. Copiamos en nuestro servidor el archivo open-flash-chart.swf y la carpeta ofc-library (en este ejemplo se supone que se alojan en la raiz del servidor).
  2. Insertar el grafico: Luego de copiar la libreria en nuestro servidor (local o remoto) creamos el archivo PHP en el cual se mostrará la grafica, para tal fin solo es necesario incluir la libreria y hacer el llamado a la funcion de inserción del grafico, de la siguiente manera:
    <?php
    include_once 'ofc-library/open_flash_chart_object.php';
    open_flash_chart_object(500,250,'http://'. $_SERVER['SERVER_NAME'].'/chart-data.php',false);
    ?>

    En la primera instrucción se incluye la libreria, especificamente el archivo que contiene la funcion de insercion del grafico.

    En la segunda instrucción se hace el llamado a la funcion de inclusión del grafico, cuyos parametros son el ancho y alto del grafico en  pixeles, la ruta al archivo de datos y un cuarto parametro que se usa para corregir un pequeño incoveniente con Internet Explorer y generalmente tiene el valor false.

  3. Archivo de datos: En el archivo de datos, se definen los valores que se van a graficar, asi como todas las propiedades de la grafica, entre ellas el tipo, titulos, valor de los ejes, colores, leyendas, etc.  En este archivo archivo tambien se pueden incluir consultas a bases de datos como mySQL para obtener los valores que se querian mostrar. A continuacion un archivo ejemplo de datos:
    <?php
    // Generar datos randomicos:
    srand((double)microtime()*1000000);
    $max = 50;
    $data = array();
    for( $i=0; $i<12; $i++ ){
    $data[] = rand(0,$max);
    }
    // incluir la libreria:
    include_once( 'ofc-library/open-flash-chart.php' );
    $g = new graph(); //creacion del objeto
    // Titulo de la grafica
    $g->title( 'Spoon sales '. date("Y"), '{font-size: 26px;}' );
    $g->set_data( $data );
    // valores del eje X
    $g->set_x_labels( array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec' ) );
    // maximo valor del eje Y
    $g->set_y_max( 60 );
    // pasos del eje y
    $g->y_label_steps( 6 );
    // mostrar los datos
    echo $g->render();
    ?>

    El ejemplo anterior y luego de llamar en nuestro servidor al primer archivo (www.nuestroservidor.com/cgrafico.php, suponiendo que llamamos al primer script grafico.php) nos arrojaría un grafico muy similar al siguiente:

About these ads

Acciones

Información

179 respuestas

24 06 2008
PHP/SWF Charts, Gráficos estadisticos en PHP con Flash « ¿Que pasa?

[...] Ver tambien: Open Flash Chart – Mas Graficas para PHP [...]

3 07 2009
Fernando

Hola Arturo, tengo un problema y que no consigo avanzar

Open Flash Chart
IO ERROR
Loading test data
ERROR #2032

This is the URL tried to open ../../data-files/candle.txt

1º Yo no tengo en ningun sitio el candle.txt y tampoco veo en ningun sitio donde intente llamar a esa ruta.

2º En el Archivo de datos he encontrado un include que en mi php5-ofc-library no viene.
include_once( ‘ofc-library/open-flash-chart.php’ );

en mi php5-ofc-library viene
lib
Example
package.xml
open-flash-chart-object.php
build_package.php

Estoy deseperado. A ver si me puedes ayudar. Muchas Gracias de antemano

26 06 2008
Elizabeth

Hola tengo problemas con la herramienta open-flash-chart
Baje el software de la pagina del fabricante segui los mismos pasos que en tu ejemplo, subi a mi servidor los archivos open-flash-charts.swf, ofc-library para php, cree un archivo php el cual incluyo y por ultimo cree el archivo de los datos llamado chart-data.php y no me aparece la grafica sale una imagen como que esta leyende y luego muesta en la pantaya lo siguiente leyenda :http://climaymas.com/chart-data.php
Necesito hacer unas graficas para unas temperaturas y necesito ayuda, he leido que atodos les ha funcionado gradezco su ayuda
tambien subi el folder js donde viene el archivo sfobjet

“”
“”
“”

26 06 2008
arturoweb

Hola Elizabeth,
Lo que sucede es que la libreria no encuentra el archivo de datos (chart-data.php).
Si estas haciendo pruebas en tu equipo te recomiendo que cambies el parametro $_SERVER['SERVER_NAME'] y coloques la ruta completa.
Ejemplo, si tu servidor local es: localhost la instruccion quedaria:
open_flash_chart_object(500,250,’http://localhost/chart-data.php’,false);
Suponiendo que estas colocando la libreria y el archivo de datos en la raiz, en caso contrario deberias colocarle la ruta completa.
Saludos!

26 06 2008
Elizabeth

Te adoro Arturo

Tengo un buen aqui buscandole al codigo fuente de las librerias y era eso, gracias por tu pronta respuesta, como siempre digo

“A los grandes genios se nos van los detalles ; ) “.

20 07 2008
napster

Buenas arturoweb, necesito que me ayudes, estoy realizandon un sitio web para la generación de graficos a partir de una base de datos en php, utilizando open flash chart, pero tengo problemas con la genración del grafico por favor si pueden ayudarme:

La tabla de donde saco la base de datos tiene esta estructura:

[B]Total [/B] [B] value[/B]
10 intel
20 centrino
30 amd

entonces quiero realizar un grafico que me muestre en el eje x los parametros de la tabla de value y el eje y del grafico el total

El codigo que estoy utilizando es el siguiente:

Codigo php.

codigo que genera la grafica:

pie(60,’#505050′,’#000000′);

// Le pasamos 2 arrays, uno con los datos y otro
// con las etiquetas
$g->pie_values( $data, $labels );

// Se asigna los colores para los datos
$g->pie_slice_colours(
array(‘#d01f3c’,’#356aa0′,’#C79810′) );
$g->set_tool_tip( ‘#val#%25′ );
$g->title( ‘Gprs’,
‘{font-size:18px; color:#d01f3c}’ );

echo $g->render();
?>

quisisera que me orienten y puedan decirme que estoy haciendo mal y que errores tengo por favor

Saludos y atento a sus comentarios

21 07 2008
arturoweb

@napster: Hola, gracias por tu visita.
pie(60,’#505050′,’#000000′): El tercer parametro es una cadena CSS (estilo), le estas pasando un hexadecimal, prueba cambiando este parametro por: {font-size: 12px; color: #404040;}

Trata haciendo esa modificacion y me cuentas. Agradeceria que dieras mas detalles acerca del error que tienes, ya que no me proporcionas informacion al respecto, es decir: se genera un grafico defectuoso o no se genera?
Saludos!

23 07 2008
napster

Gracias pana arturoweb, eso era, ahora tengo otra pregunta espero que puedas ayudarme de pana esta broma me tiene loco, estoy tratando de genrar una grafica 3d de barras, siguiendo el mismos parametros de la anterior grafica, pero esta vez me muestra el frame con los valores de la base de datos en los respectivos ejes todo fino, pero el problema es que no veo las barras del diagrma es decir no me las muestra, pero si los valores en los ejes de la grafica los cuales me traigo de mi base de datos, a continuacion te muestro el codigo utilizado:

No se si estare olvidando algun parametro o algo asi:

key( ‘Sitios’, 2 );
//valores de cada fila de la tabla
while( $row = mysql_fetch_array($res) ){
// Añade los valores de cada fila al array de
// datos que le pasaremos a Open Flash Chart
$bar_blue->temp[] =$row['Share'];
//temp[] =$row['Total'];
//$temp[] =$row['Total'];
// Añade las etiquetas de cada fila al array de
// etiquetas que le pasaremos a Open Flash Chart
$valores_x[] =$row['Value'];
}
//************************************************
//$bar_blue= temp[];
// create the graph object:
$g = new graph();
$g->title( ‘Top de Sitios mas visitados’, ‘{font-size:20px; color: #FFFFFF; margin: 5px; background-color: #505050; padding:5px; padding-left: 30px; padding-right: 20px;}’ );
//**************************************************
//$g->bar_3D( 10, ‘#3334AD’, ‘Sitios’, 10 );
//$g->data_sets[] = $bar_blue;
//$g->set_data($temp);
//$g->set_data( $bar_blue);
//$g->data_sets[] = $temp;
$g->data_sets[] = $bar_blue;
$g->set_x_axis_3d( 12 );
$g->x_axis_colour( ‘#909090′, ‘#ADB5C7′ );
$g->y_axis_colour( ‘#909090′, ‘#ADB5C7′ );
$g->set_x_labels( $valores_x);
$g->set_y_max( 100 );
$g->y_label_steps( 6 );
$g->set_y_legend( ‘Cantidad de Usuarios’, 12, ‘#736AFF’ );
$g->set_x_legend( ‘Sitios Visitados’, 12, ‘#736AFF’ );
echo $g->render();
?>

Mi pana agradeceria bastante tu ayuda, se que eres un guru en open flash cghart y espero puedas ayudarme brother,

23 07 2008
arturoweb

Hola nuevamente, haz los siguiente arreglos:


//Crear el objeto para la barra 1
$barra_azul=new bar_3d( 75, ‘#3334AD’ );
$barra_azul->key( ‘Sitios’, 2 );

//agregar los datos para la barra
while( $row = mysql_fetch_array($res) ){
$barra_azul->data[] =$row['Share'];

$valores_x[] =$row['Value'];
}
$g = new graph();
$g->title( ‘Top de Sitios mas visitados’, ‘{font-size:20px; color: #FFFFFF; margin: 5px; background-color: #505050; padding:5px; padding-left: 30px; padding-right: 20px;}’ );

$g->data_sets[] = $barra_azul;
$g->set_x_axis_3d( 12 );
$g->x_axis_colour( ‘#909090′, ‘#ADB5C7′ );
$g->y_axis_colour( ‘#909090′, ‘#ADB5C7′ );
$g->set_x_labels( $valores_x);
$g->set_y_max( 100 );
$g->y_label_steps( 6 );
$g->set_y_legend( ‘Cantidad de Usuarios’, 12, ‘#736AFF’ );
$g->set_x_legend( ‘Sitios Visitados’, 12, ‘#736AFF’ );
echo $g->render();

Prueba con eso y me cuentas si te funciona.

23 07 2008
napster

Mi pana arturo ahora si funciono pero, las barras del diagrama se me muestran en la parte superior de la grafica, es decir por encima del titulo centrado de la grafica que es TOP DE SITIOS MAS VISITADOS, encima de este titulo veo las barras y no dentro del diagrama que posee los ejes de la misma

23 07 2008
arturoweb

Hola napster, no veo ningun error en el codigo que te envie que pueda generar la situacion que comentas.
Enviame el codigo que estas usando.
Saludos!

23 07 2008
napster

Aqui te envio el codigo brothers:

key( ‘Sitios’, 10 );
//valores de cada fila de la tabla
while( $row = mysql_fetch_array($res) ){
// Añade los valores de cada fila al array de
// datos que le pasaremos a Open Flash Chart
$barra_azul->data[] =$row['Share'];
//temp[] =$row['Total'];
//$temp[] =$row['Total'];
// Añade las etiquetas de cada fila al array de
// etiquetas que le pasaremos a Open Flash Chart
$valores_x[] =$row['Value'];
}
//************************************************
//$bar_blue= temp[];
// create the graph object:
$g = new graph();
$g->title( ‘Top de Sitios mas visitados’, ‘{font-size:15px; color: #FFFFFF; margin: 5px; background-color: #505050; padding:5px; padding-left: 5px; padding-right: 5px;}’ );
//**************************************************
//$g->bar_3D( 10, ‘#3334AD’, ‘Sitios’, 10 );
//$g->data_sets[] = $bar_blue;
//$g->set_data($temp);
//$g->set_data( $bar_blue);
//$g->data_sets[] = $temp;
$g->data_sets[] = $barra_azul;
$g->set_x_axis_3d( 12 );
$g->x_axis_colour( ‘#909090′, ‘#ADB5C7′ );
$g->y_axis_colour( ‘#909090′, ‘#ADB5C7′ );
$g->set_x_labels($valores_x);
$g->set_y_max( 200 );
$g->y_label_steps( 5 );
$g->set_y_legend( ‘Cantidad de Usuarios’, 10, ‘#736AFF’ );
$g->set_x_legend( ‘Sitios Visitados’, 10, ‘#736AFF’ );
echo $g->render();
?>

no se que pasara, y el codigo que hace la llamada a la funcion es esta:

si veo las barras pero por encima del marco de la grafica

23 07 2008
arturoweb

Hola otra vez, sigo sin ver algun error. Ya corriste los scripts en varios navegadores?. Puede que sea un problema con el navegador, trata corriendolo en un navegador diferente.
Es lo que se me ocurre hasta el momento y hay que agotar todas las posibilidades de error. :-)
Saludos!

23 07 2008
napster

Mi pana, nada es muy raro que se vea la grafica por encima del recuadro de graficación, incluso modifico los pametros de la grafica y nada, me parec estraño, que otra opcion me das, actualmente estoy utilizando open flash chart 1.9.7, sera problemas de la libreria? no creo.

26 08 2008
eliz

Hola, tengo un problema, quiero graficar los datos que estan dentro de mi base de datos y no puedo, me sale una grafica con ejes y 0,5,10, el cursor me dice indefinido y no se grafica ningun punto, te envio el codigo para que lo cheques y me digas que puedo tener mal, mil gracias.

title( ‘Spoon sales ‘. date(“Y”), ‘{font-size: 26px;}’ );
$g->set_data( $data );

//mi valor maximo en y es 45 asi que pongo 50
$g->set_y_max( 50 );

//Los divido en 10 (5,10,15,20,25…50)
$g->y_label_steps( 10 );

// muestro los datos
echo $g->render();

?>

26 08 2008
eliz

No se envio todo el codigo lo escribo d enuevo gracias

” //variable tipo arreglo para guardar mis valores
” $data = array();

” //Conexión a la base de datos

” $con = mysql_connect”(“www.climaymas.com”,”climaym”,”elizabeth1080″) or die (mysql_error());
” mysql_select_db(“climaym_RECORRIDO”,$con) or die (mysql_error());

” //Sentencia sql
” $_pagi_sql =mysql_query(“SELECT * FROM grafica”);

” //Leo y guardo los registros en el arreglo
” while($row = mysql_fetch_assoc($_pagi_sql))
” {
” $data[] = $row['cantidad'];
” }

” // incluyo la libreria para la grafica
” include_once( ‘ofc-library/open-flash-chart.php’ );

” //Creo el objeto
” $g = new graph();

” //Pongo el titulo, mismo del ejemplo para no errarle :)

” $g->title( ‘Spoon sales ‘. date(“Y”), ‘{font-size: 26px;}’ );
” $g->set_data( $data );

” //mi valor maximo en y es 45 asi que pongo 50
” $g->set_y_max( 50 );

” //Los divido en 10 (5,10,15,20,25…50)
” $g->y_label_steps( 10 );

” // muestro los datos
” echo $g->render();’

26 08 2008
arturoweb

Hola eliz, trate de correr el codigo que me enviaste y obtuve lo siguiente:

Warning: mysql_connect() [function.mysql-connect]: Access denied for user ‘climaym’@’89.17.220.65′ (using password: YES) in /home/webcindario/m/y/mytestserver/opencharts/charts.php on line 3
Access denied for user ‘climaym’@’89.17.220.65′ (using password: YES)

Esa es la razon por la cual te muestra “undefined”, ya que no alcanza a construir el grafico. Comprueba que te puedas conectar a la base de datos antes de intentar crear el grafico, es decir antes de llamar a la funcion:

open_flash_chart_object( … );

Saludos!

11 09 2008
Miguel Monroy

Cordial saludo, existe algún problema en cuanto a la versión de PHP que se este usando?

11 09 2008
arturoweb

Hola Miguel, No hay problemas en cuanto a las versiones de PHP usadas.
Saludos!

11 09 2008
Miguel Monroy

Gracias por responder.

Resulta que tengo un servidor Linux Ubuntu de pruebas montado con PHP 5, Apache 2 y MYSQL 5, en él funciona todo a la perfección, pero al implementarlo en el servidor real, Linux (desconozco la distribución), Apache 1.3 y MySQL 4 no funciona. Se que no es lo optimo realizar pruebas con versiones nuevas pero es lo único de lo que dispongo en el momento.

18 08 2011
Damaris

Hola! en realdiad tengo una pregunta y quisiera que me respondieras lo mas pronto posible. Es que soy practicamente nueva en ubuntu y quisiera saber en que carpeta de ubuntu de colocar el archivo open-flash-chart.swf y la carpeta ofc-library?
saludos!

11 09 2008
Miguel Monroy

Este es el error que se genera cuando intento ver el php correspondiente a los datos:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Gracias.

11 09 2008
arturoweb

Hola Miguel,
Revisa el log del servidor, para tener un poco mas de detalle sobre el error.
El archivo de log suele encontrarse generalmente en: /var/log/apache/error.log

Depronto el error puede ser porque estas haciendo mal una consulta y el script PHP tarda mucho ejecutandose, lo cual hace que el servidor no responda y devuelve un error. Esa es una de las posibles causas, pero hasta no ver el log del servidor es poco probable saberlo con exactitud.
Si no puedes ver el log del servidor, te recomiendo que revises detenidamente el script PHP de datos.

Saludos!

11 09 2008
yuma

Hola, sera que alguien me puede responder si open Open Flash Chart funciona en firefox? yo no veo nada, no se si es un algo que le falta para funcionar en este navegador, en explorer si se ve perfecto! agradezco pronta respuesta!!

11 09 2008
arturoweb

Hola yuma, OpenFlashChart funciona perfectamente tanto en Firefox como en Explorer.
Comprueba que tienes instalado el plugin de flash en firefox. Puede ser eso el causante que no veas las graficas en este navegador.
Saludos!

12 09 2008
Miguel Monroy

hola gracias por tu atención.

Extrañamente lo arreglé, borre los archivos que habia subido y los volvi a subir (exactamente iguales) y funcionó.
XD

Gracias por todo.

Pueden ver el resultado en: http://www.udca.edu.co/apliphp/pregrado/abrirgrafica.php

15 09 2008
jose luis

Hola arturo web tengo un problema con la libreria OpenFlashChart cuando quiero ver el ejemplo que han puesto en este espacio me aparece en el navegador el mensaje:

Open Flash Chart
IO ERROR
Loading test data
Error #2032

espero y puedas ayudarme con anticipacion gracias… :-)

15 09 2008
Niniqui

Estoy probando el script y me parece fenomenal, pero me podrias decir arturoweb como le coloco diferentes graficas es decir, barras, tortas, … de diferentes colores,… de diferentes formas de presentar los datos

17 09 2008
Emiliano

Buenas tardes, me gustaría que me den una mano con algo. no puedo hacer desaparecer el codigo [b]“Open Flash Chart IO ERROR Loading test data Error #2032″[/b]. Pruebo y pruebo y nada. puede ser que no sirva bajo linux?. alguien lo pudo hacer andar en linux?.

17 09 2008
arturoweb

@Emiliano y jose luis: El error #2032 se ha presentado muchas veces y por lo tanto existen una gran cantidad de razones por la cual se presenta, les recomiendo que miren los foros oficiales de Open Flash Chart, donde hay muchas conversaciones y soluciones a este tipo de error. Estan en ingles estos foros, pero realmente no es necesario ser bilingue para entenderlos.

@Niniqui: Me gustaria que fueras un poco mas precisa respecto a que tipo de graficas deseas hacer. Por lo pronto puedes mirar en la pagina web de OpenFlashChart, donde explican como hacer cada uno de los tipos de graficos (barra, torta, lineales, etc).

Saludos!

18 09 2008
Miguel Monroy

@Emiliano: Si funciona sobre Linux

25 09 2008
Pedro

de:pedro
para:el GURU
asunto: F1, S.O.S. , HELP

Me salio este error y no se ke hacer… agradesco SU colaboracion

Fatal error: Call to undefined method stdClass::toString() in C:\xampp\htdocs\ESTADISTICA\php-ofc-library\open-flash-chart.php on line 1225

post.

estoy empezando en el uso de esto… no soy my experto todabia

GRACIAS

25 09 2008
arturoweb

Hola Pedro:

El error es de libreria, te recomiendo que vayas nuevamete al sitio de OpenFlash Chart y descargues la ultima version estable y la reinstales en tu servidor.

Saludos!

26 09 2008
Ani

Hola Arturo, tengo una duda en cuanto al tiempo de carga de los gráficos, quisiera saber en tu experiencia que tan rápida es la descarga del gráfico hasta que se puede visualizar completamente cuando se utilizan muchos datos que se leen desde una base de datos, te agradezco tu atención

13 10 2008
mariageles

hola Arturo por fa ayudame necesito realizar las leyendas de barras de manera dinamica extrayendo de mi base de datos pero no logro entender como hacerlo podrias explicarmelo

te agradesco de antemano la ayuda

13 10 2008
mariageles

te envio mi codigo echo en torta pero en barra no lo se hacer
= ’01/07/2008′) AND
(maestro.Fecha_Cierre = ‘$FECHAENTRADA’) AND
(maestro.Fecha_Cierre 0)
{
$description = array();
$contador = 0;
$total = 0;
while ($reg = mysql_fetch_array($res_query))
{
$description[$contador] = $reg["Descripcion"];
$data[$contador] = $reg["cantidad"];
$total += $reg["cantidad"];
$contador++;
}
//////////////////////////////////////////////////////////////////////////////
include_once( ‘ofc-library/open-flash-chart.php’ );
$g = new graph();
$g->pie(80,’#505050′,’{font-size: 12px; color: #404040;’);
$g->pie_values( $data, $description );
$g->pie_slice_colours( array(‘#183118′,’#238477′,’#2B7F9C’) );
$g->set_tool_tip( ‘#val#’ );
$g->title( ‘TITULO DEL GRAFICO’, ‘{font-size:18px; color: #d01f3c}’ );
//////////////////////////////////////////////////////////////////////////////
echo $g->render();
}
mysql_free_result($res_query);
?>

14 10 2008
arturoweb

Hola mariageles, las leyendas se hacen de la siguiente manera:
$g->set_x_labels(array('Enero','Febrero','Marzo','Abril','Mayo','Junio'));
En el ejemplo anterior estableci las leyendas para el eje X, para hacerlo de forma dinamica y suponiendo que tienes los valores en un array luego de extraerlos de la base de datos, seria:
$g->set_x_labels($description);

Espero que te pueda servir de ayuda, si no era eso a lo que te referias, estaré atento para resolverte nuevas dudas.

Saludos!

15 10 2008
mariageles

hola Arturo esa era mi pregunta sin embargo no logro graficar nada podrias ayudarme

15 10 2008
mariageles

te envio mi codigo para ver si consigues mi error de antemano gracias de antemano por la ayuda

= ‘$FECHAENTRADA’) AND
(maestro.Fecha_Cierre 0)
{
$description = array();
$contador = 0;
$total = 0;
while ($reg = mysql_fetch_array($res_query))
{
$description[$contador] = $reg["Descripcion"];
$data[$contador] = $reg["cantidad"];
$total += $reg["cantidad"];
$contador++;
}

$g = new graph();
$g->title( ‘Bar Chart’, ‘{font-size: 20px;}’ );

$g->data_sets[] = $data;

$g->set_x_labels( $description );

$g->set_x_label_style( 10, ‘#9933CC’, 0, 2 );

$g->set_x_axis_steps( 2 );

$g->set_y_max( 10 );
$g->y_label_steps( 4 );
$g->set_y_legend( ‘Open Flash Chart’, 12, ‘#736AFF’ );
echo $g->render();

}
mysql_free_result($res_query);
?>

2 11 2008
campanita

hola, estoy haciendo graficos a partir de una base de datos, el problema es que solo veo los eje no las barras acontinuacion envio mi codigo, ojala pudieras ayudarme, me urge

title( ‘Estadisticas’, ‘{font-size:20px; color: #d01f3c}’ );
$g->set_data($data);
$g->bar_filled( 20, ‘#9933CC’, ‘#8010A0′, ‘Porcentajes’, 9 );

$g->set_x_axis_steps( 1 );
$g->set_x_label_style(10, ‘#9933CC’, 0, 1);
$g->set_x_labels($labels);
$g->set_x_legend(‘Respuestas dadas’, 12, ‘#736AFF’ );

$g->y_label_steps( 5 );
$g->set_y_max( 10 );
$g->set_y_legend( ‘Total de alumnos’, 12, ‘#736AFF’ );

echo $g->render();

// Código que crea el objeto Flash
include_once ‘php-ofc-library/open_flash_chart_object.php’;
open_flash_chart_object( 800, 450, ‘http://localhost/datafromdb2.php’, false);
?>

2 11 2008
campanita

ahora si envio completo el codigo:

$db = mysql_connect(“localhost”, “root”,”root”)
or die(“Imposible conectar a la base de datos”);
mysql_select_db(“moodle”, $db)
or die(“Imposible consultar la base de datos”);
// Consulta la tabla
$res = mysql_query(“select grade from mdl_quiz_grades where id = ’1′”,$db)
or die(“Sentencia SQL incorrecta”);
$data = array();
$labels= array();
// Itera sobre el resultado de la consulta para
// obtener los campos que necesitamos para
// generar la gráfica
//Devuelve una matriz que corresponde a la sentencia extraida.
while( $row = mysql_fetch_array($res) )
{
// Añade los valores de cada fila del arreglo de
// datos que le pasaremos a Open Flash Chart
$data[] =$row[1];
// Añade las etiquetas de cada fila de arreglo de
// etiquetas que le pasaremos a Open Flash Chart
$labels[] =$row[2];
}
// Cerramos la conexión con la base de datos
mysql_close($db);
// PASO 2 – Creacion de la grafica
// Creamos el objeto Gráfica
include_once( ‘php-ofc-library/open-flash-chart.php’ );
$g = new graph();

$g->title( ‘Estadisticas’, ‘{font-size:20px; color: #d01f3c}’ );
$g->set_data($data);
$g->bar_filled( 20, ‘#9933CC’, ‘#8010A0′, ‘Porcentajes’, 9 );

$g->set_x_axis_steps( 1 );
$g->set_x_label_style(10, ‘#9933CC’, 0, 1);
$g->set_x_labels($labels);
$g->set_x_legend(‘Respuestas dadas’, 12, ‘#736AFF’ );

$g->y_label_steps( 5 );
$g->set_y_max( 10 );
$g->set_y_legend( ‘Total de alumnos’, 12, ‘#736AFF’ );

echo $g->render();

// Código que crea el objeto Flash
include_once ‘php-ofc-library/open_flash_chart_object.php’;
open_flash_chart_object( 800, 450, ‘http://localhost/datafromdb2.php’, false);
?>

29 11 2008
matias

Hola Excelente el tuto, hice una pagina con un formulario html donde selecciono unos parametros y luego llamo a la funcion que crea la grafica OFC; y tambien tengo el archivo de datos donde se realiza la consulta a la BD y se definen los datos para la grafica (simil al del ejemplo del principio). Dentro de la consulta a la BD debo poner una condicion (where a.fecha>= $var) donde necesito el valor de una variable del form ($var). COMO PUEDO HACER PARA ENVIAR EL VALOR SELECCIONADO EN EL FORM AL ARCHIVO DE DATOS.

Desde ya se agradece una temprana respuesta .
Saludos y sigan asi !!

1 12 2008
arturoweb

Hola matias,
para enviar valores al archivo de datos, lo haces de la siguiente forma:
open_flash_chart_object(500,250,’http://’. $_SERVER['SERVER_NAME']."/chart-data.php?var=$valorvariable",false);
Luego, desde el archivo de datos recuperas el valor de la siguiente manera:
$variable=$_GET['var'];

Espero, te sirva de ayuda y sigue visitandonos!

4 12 2008
elena

Holaa!!
yo estoy probando el ejemplo que das, pero me da errores,
A ver, lo q yo hehecho es:
1.- descargarme la libreria y copiar php5-ofc-library y open-flash-chart.swf a /opt/lampp/htdocs/xampp, mi servidor php.
2.- Copio los dos archivos, del ejemplo en la misma carpeta (en el servidor)
3.- Abro un navegador para ver el ejemplo y me da el siguiente error:

Warning: include_once(/proyecto/ofc-library/open_flash_chart_object.php) [function.include-once]: failed to open stream: No existe el fichero ó directorio in /opt/lampp/htdocs/xampp/ejemplo.php on line 2

Warning: include_once() [function.include]: Failed opening ‘/proyecto/ofc-library/open_flash_chart_object.php’ for inclusion (include_path=’.:/opt/lampp/lib/php’) in /opt/lampp/htdocs/xampp/ejemplo.php on line 2

Fatal error: Call to undefined function open_flash_chart_object() in /opt/lampp/htdocs/xampp/ejemplo.php on line 3

pd: sabeis la direccion de tutoriales???
gracias

4 12 2008
arturoweb

Hola Elenea,
Cambia el nombre del directorio php5-ofc-library por ofc-library. Otra opcion es modificar la linea de inclusion de la libreria: include_once( ‘ofc-library/open-flash-chart.php’ ); por: include_once( ‘php5-ofc-library/open-flash-chart.php’ );

Saludos!

4 12 2008
elena

HOla el nombre lo cambie al copiarlo, solo lo indique pq fue esa carpeta la q copie del archivo zip, pq comono habia una con nombre “ofc-library”, pense q la otra era la q necesitaba.
Gracias por la respuesta, se te ocurre otra cosa??

4 12 2008
arturoweb

Hola elena,
El error es bastante claro, no encuentra la libreria.

Dentro del directorio donde tienes el archivo ejemplo.php debe estar la carpeta con la libreria. Asegurate que la libreria no esta como subdirectorio de otra carpeta, y que estás colocando de forma correcta la ruta del directorio de la libreria en la funcion include_once.

Saludos!

4 12 2008
elena

Hola!!

te escribo el contenido del archivo que he llamado ‘ejemplo.php’:

la funcion include la he escrito de varias formas:
include_once ‘ofc-library/open_flash_chart_object.php’;
include_once “ofc-library/open_flash_chart_object.php”;
include_once (‘ofc-library/open_flash_chart_object.php’);
include_once (“ofc-library/open_flash_chart_object.php”);
include_once `ofc-library/open_flash_chart_object.php`;

pero siempre me da error.

La carpeta ‘ofc-library’, la tengo en la misma ruta donde este archivo, y dentro de esta carpeta esta el archivo ‘open_flash_chart_object.php’,
Ya no sé como escribirlo, si me pudieras dar tb la direccion de algun tutorial, te lo agrdecería.

Gracias por todo.
Un saludo

4 12 2008
elena

HOla!!
Ya lo he solucionado, era por las comillas, pero me sigue dando otro error :
Parse error: syntax error, unexpected $end in /opt/lampp/htdocs/xampp/ejemplo.php on line 5

y el fichero solo tiene 4 lineas. No se si es q hay q ponerle alguin end.
graicas de antemano

4 12 2008
arturoweb

Hola Elena,

Parse Error: syntax error, unexpected $end
Es un error bastante común, porque es muy fácil reunir las condiciones para hacerlo saltar.
Basicamente suele deberse a uno de estos dos motivos:
1. En alguna parte del código falta una llave de cierre (símbolo }, también llamado curly bracket).
2. El PHP instalado no admite en su configuración el uso de etiquetas PHP en formato abreviado (”<?” en lugar de “<?php” )

Fuente: http://agamum.net/blog/archivo/parse-error-syntax-error-unexpected-end.xhtml

Saludos!

14 12 2008
Miguel Monroy

Hey, volví por aca buscando en google acerca de pasar datos por GET o POST a la gráfica, gracias!!!!

14 01 2009
marcela

hola buenos dias arturo, estube probando el ejemplo de open flash chart y me manda el siguiente error :

Parse error: syntax error, unexpected T_STRING in c:\servidor\web\grafico.php on line 13

le llame “grafico” al archivo de datos a ese codigo no le modifique nada pero si a donde se le llama ala funcion de la grafica.
el error de la linea 13 es este :

include_once( ‘ofc-library/open-flash-chart.php’ );
$g = new graph(); //creacion del objeto
// Titulo de la grafica
$g->title( ‘Spoon sales ‘. date(”Y”), ‘{font-size: 26px;}’ );
$g->set_data( $data );

por favoor si segui mal los pasos explicamelo. =)

14 01 2009
arturoweb

Hola marcela, si copiaste y pegaste el codigo de mi blog al archivo grafico.php, te recomiendo que revises las comillas, es decir borralas y vuelve a escribirlas, pudo haber copiado un tipo de comillas diferente o tildes que PHP reconoce como errores.
Verifica eso y me cuentas.
Saludos!

14 01 2009
marcela

este error me lo marca en el navegador ahora:

&title=Spoon+sales+2009,{font-size: 26px;}& &x_axis_steps=1& &y_ticks=5,10,6& &line=3,#87421F& &values=13,39,45,45,0,44,31,19,12,12,32,1& &x_labels=Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec& &y_min=0& &y_max=60&

y gracias arturo por haberme ayudado en lo anterior eran las comillas.

14 01 2009
arturoweb

Hola marcela, esa porcion de codigo que me muestras es lo que te arroja el navegador en vez de mostrarte el grafico?
O te muestra el grafico y además te muestra eso?

14 01 2009
marcela

eso es lo que me marca el navegador no me muestra ningun grafico sino esos codigos y no me la marca como error me confundi al haberte comentado.

14 01 2009
arturoweb

mmm .. el llamado a la funcion lo estas haciendo correctamente? … tienes instalado el flash-player en el navegador?
El archivo que estas abriendo es el que hace el llamado a la funcion cierto?
Verifica que estas haciendo los pasos correntamente o prueba en otro navegador.

15 01 2009
marce

hola arturo buenos dias ya me imagino que quedo todo, si si tengo el flas-player instalado en el navegador pero aora me muestra que esta cargando la grafica ya no me muestra condigo ni error me aparece que esta cargando los datos ai queda :p y nuevamente gracias poor tu ayuda arturo…

16 01 2009
Arturo Alvarez

Tocayo, excelente aporte, en verdad. Gracias de antemano por esta labor.

Veras para no quitarte mucho tiempo a ti, podrias pasarme el correo de Jose Luis el compañero que te pidio apoyo para su sitio web, pues su resultado es muy parecido a lo que estoy buscando.

Saludos

16 01 2009
Arturo Alvarez

Perdon tocayo es miguel monroy el que tiene el resultado como el que requiero.

Saludos

16 01 2009
arturoweb

Hola Arturo, Gracias por tu visita.
Voy a enviar un correo a Miguel Monroy y si el me autoriza darte el correo, con gusto te lo enviare por e-mail.

16 01 2009
Arturo Alvarez

Tocayo nuevamente yo, mira supuse que hacer los ejercicios de ejemplo seria sencillo (copiar y pegar) pero tras un tiempo de leer, y ver el codigo no se pone la grafica.

Archivo 1:

+++++++++++++++++++++++++++
Archivo 2:
<?php

// Generar datos randomicos:
srand((double)microtime()*1000000);
$max = 50;
$data = array();
for( $i=0; $ititle( ‘Spoon sales ‘. date(”Y”), ‘{font-size: 26px;}’ );
$g->set_data( $data );

// valores del eje X
$g->set_x_labels( array(‘Jan’,’Feb’,’Mar’,’Apr’,’May’,’Jun’,’Jul’,’Aug’,’Sep’,’Oct’,’Nov’,’Dec’));

// maximo valor del eje Y
$g->set_y_max( 60 );

// pasos del eje y
$g->y_label_steps( 6 );

// mostrar los datos
echo $g->render();

?>

Que me falta o sobra? Saludos y gracias. Espero que Miguel Monroy acepte.

16 01 2009
Arturo Alvarez

Archivo 1:

18 01 2009
Arturo Alvarez

Hola, al menos ya me corre una grafiaca con mysql, les dejo el link http://www.cambioclimatico.climanayarit.gob.mx, si les interesa el codigo con confiaza envienme un mail y se los hago llegar, saludos. alvarezbravo@lycos.com

25 01 2009
yahir

que tal, Acabo de descargar el archivo, tengo el WAMP 2.0 (php 2.58 y apache 2.2.11), y como indicas instale en la raiz (www) el archivo ofc-library para la versión de php5. Pero cuando ejecuto los códigos ejemplos que indicas no lo hace, imprime en pantalla error en el segundo ejemplo:

//***************************************************************************
Warning: include_once(ofc-library/open-flash-chart.php) [function.include-once]: failed to open stream: No such file or directory in C:\wamp\www\prueba.php on line 10

Warning: include_once() [function.include]: Failed opening ‘ofc-library/open-flash-chart.php’ for inclusion (include_path=’.;C:\php5\pear’) in C:\wamp\www\prueba.php on line 10

Fatal error: Class ‘graph’ not found in C:\wamp\www\prueba.php on line 11
//***************************************************************************

y lo único que hice fue quitarles los acentos que tenia por apostrofes ya que me marcaba error, el código que pegue y ejeute es el esiguietne:

<?php
// Generar datos randomicos:
srand((double)microtime()*1000000);
$max = 50;
$data = array();
for( $i=0; $ititle( “Spoon sales “. date(“Y”), “{font-size: 26px;}” );
$g->set_data( $data );
// valores del eje X
$g->set_x_labels( array(‘Jan’,’Feb’,’Mar’,’Apr’,’May’,’Jun’,’Jul’,’Aug’,’Sep’,’Oct’,’Nov’,’Dec’ ) );
// maximo valor del eje Y
$g->set_y_max( 60 );
// pasos del eje y
$g->y_label_steps( 6 );
// mostrar los datos
echo $g->render();
?>

jejje como vez ya me desespere… TE AGRADECERE TU VALIOSA AYUDA diciendo donde la calabazee…

26 01 2009
arturoweb

Bueno, claramente PHP no encuentra el archivo de la libreria, bien porque estas copiando mal la ruta o por las comillas que estas usando en la funcion include.
Uno de los comentarios anteriores muestra el mismo error y se debia a problemas con las comillas.
Saludos.

27 01 2009
Alexander Galue

Hola, solicito ayuda para solucionar el siguiente problema:
Recien bajé el open chart. Al tratar de hacer el ejemplo que viene en el primer tutorial me aparece el error que pasteo aquí abajo.
La carpeta ofc-library no la encuentra. La he buscado pero tampoco la encuentro yo manualmente. Renombré la carpeta que se llama php-ofc-library a ofc-library, pero no funciona ¿que puedo hacer?.
Gracias de antemano y saludos!

Mensaje de Error:

Warning: include_once(ofc-library/open_flash_chart_object.php) [function.include-once]: failed to open stream: No such file or directory in D:\xampp\htdocs\chart.php on line 7

Warning: include_once() [function.include]: Failed opening ‘ofc-library/open_flash_chart_object.php’ for inclusion (include_path=’.;\xampp\php\pear\’) in D:\xampp\htdocs\chart.php on line 7

Fatal error: Call to undefined function php() in D:\xampp\htdocs\chart.php on line 8

27 01 2009
arturoweb

Hola, tienes el mismo error del comentario anterior. No encuentra el archivo, si tu manualmente tampoco lo encuentras, sencillamente no has descargado correctamente la libreria o no la estas ubicando en el sitio correcto.
El problema no es de la libreria es de ruta del archivo. En eso no puedo ayudarte.

28 01 2009
Alexander Galue

Gracias Arturo. Descargué nuevamente el archivo, instalé las carpetas en la carpeta raíz de mi server. Hice los ejemplos, me arroja una gráfica, peeero… no es la gráfica que aparece en el ejemplo. Otro detalle es que el archivo open_flash_chart_object.php no existe, sino que en el código le cambié los _ por – (guiones bajos por guiones medios) y quedo como open_flash_chart_object.
Helpme please que me estoy volviendo locooo.

28 01 2009
arturoweb

Que tipo de grafica te muestra? Recuerda que la grafica del ejemplo no es la de barras sino la grafica lineal.

30 01 2009
Maurock

Hola Arturo… por lo que veo me puedes ayudar….

A mi me pasa lo mismo que a Alexander Galue, referente a los de los guiones y el gráfico que sale.

Para resumir, tengo en el archivo de nombre “temp2.php”:

en “temp3.php” está el ejemplo del gráfico ‘Spoon sales’, y no aparece el ejemplo, sino que aparece otro gráfico.
Ahora si coloco la siguiente instrucción en “temp2.php”:

aparece el mismo gráfico….

Ya lo probé en IE7, FF3 y Google Chrome.

Si tienes algún mail donde pueda enviarte la imagen del gráfico que aparece, te lo agradecería.

Saludos….

30 01 2009
Maurock

haber si ahora aparece el código:

Para resumir, tengo en el archivo de nombre “temp2.php”:

en “temp3.php” está el ejemplo del gráfico ‘Spoon sales’, y no aparece el ejemplo, sino que aparece otro gráfico.
Ahora si coloco la siguiente instrucción en “temp2.php”:

aparece el mismo gráfico….

Ya lo probé en IE7, FF3 y Google Chrome.

Si tienes algún mail donde pueda enviarte la imagen del gráfico que aparece, te lo agradecería.

Saludos….

30 01 2009
Maurock

la tercera es la vencida:

Para resumir, tengo en el archivo de nombre “temp2.php”:

include_once ‘ofc-library/open-flash-chart-object.php’;
open_flash_chart_object( 500, 250, ‘http://misitio/temp3.php’, false );

en “temp3.php” está el ejemplo del gráfico ‘Spoon sales’, y no aparece el ejemplo, sino que aparece otro gráfico.
Ahora si coloco la siguiente instrucción en “temp2.php”:

include_once ‘ofc-library/open-flash-chart-object.php’;
open_flash_chart_object( 500, 250, ”, false );

aparece el mismo gráfico….

Ya lo probé en IE7, FF3 y Google Chrome.

Si tienes algún mail donde pueda enviarte la imagen del gráfico que aparece, te lo agradecería.

Saludos….

4 02 2009
Maurock

Ahora entendí todo…..

Se trata de “Open Flash Chart 2″, por eso que salía ese gráfico.

Vean este link que es donde sale toda la información para este nuevo tipo de gráficos:

http://teethgrinder.co.uk/open-flash-chart-2/

greetings!

5 02 2009
Fr@nk

ArturoWEB,,,

Por favor me pudes explicar como puedo hacer esto pues necesito enviar un dato desde un a la consulta (SQL “algo” where agente=’$agent’) y luego ver el grafico….

Si lo mando quemado ” $agent=’fjaya’ ” si me grafica correctamente,,,lo que no me funciona es pasarlo como parametro…

AYUDAMEEEEEE…!!!!!!!!!

open_flash_chart_object(500,250,’http://’. $_SERVER['SERVER_NAME'].”/chart-data.php?var=$valorvariable”,false);
Luego, desde el archivo de datos recuperas el valor de la siguiente manera:
$variable=$_GET['var'];

5 02 2009
Fr@nk

Lo que quiero es pasar los datos de un formulario a la la consulta (SQL) y generar el grafico,,,

Como te indique al quemarlo si funciona correctamenete el grafico…

6 02 2009
arturoweb

Hola Frank,
Lo puedes hacer justamente como ya lo habia indicado en un comentario anterior:
En el llamado a la funcion del grafico pasas la variable ($agente):
open_flash_chart_object(500,250,’http://’. $_SERVER['SERVER_NAME'].”/chart-data.php?agente=".$agente,false);
Luego en el archivo de datos que es donde tienes la consulta SQL recuperas ese valor:
$agente=$_GET['agente'];
Luego simplemente lo usas, “SQL algo WHERE agente=”.$agente;
Si no te recupera el valor con $_GET, prueba con $_POST ya que no recuerdo el metodo que usa para el envio del formulario, pero deberia ser $_GET.
Cuando pasas la variable asegurate de concatenarlo, que lo olvide y omiti esa parte en el comentario anterior. Talvez por eso no te sirve, ya que el valor que esta enviando es $agente y no el valor de la variable.

6 02 2009
Fr@nk

Muchas Gracias ArturoWEB….!!!!

Lo probe y esta todo muy bien…..gracias por tu valiosa ayuda.

6 02 2009
Fr@nk

ArturoWEB,,,,

Me queda una duda se puede enviar mas de una variable,,!!! o solo acepta una

6 02 2009
arturoweb

Se pueden enviar todas las variables que quieras. La primera va antecedida del signo “?”, el resto de ellas del signo “&”. Y las recuperas de la misma forma.

open_flash_chart_object(500,250,’http://’. $_SERVER['SERVER_NAME'].”/chart-data.php?agente=”.$agente."&variable=".$var2."&variable3=".$var3,false);
//Luego en el archivo de datos
$agente=$_GET['agente'];
$variable2=$_GET['variable'];
$variable3=$_GET['variable3'];

6 02 2009
Fr@nk

Gracias otra vez…ArturoWEB…..!!! Espero no importunar con tanta preguntadera pero estoy inciando en esto y tu ayuda fue muy importante.

Atte. Fr@nk….

16 02 2009
lila

Hola: estaba navegando por internet cuando encontre este sitio y me anime a escribirte. Intento graficar las calificaciones de los alumnos aparentemente ya funcionaba pero al hacer clic en el vinculo de graficar me muestra una grafica lo malo es que siempre me muestra la misma para todos los alumnos aun cundo las calificaciones son diferentes. Te agradeseria si me puedes ayudar a encontrar el error.

Te envío el código:

Grafica de calificaciones por materia de cada alumno

<?
include”conexion.php”;
$sql= “SELECT mat.descripcion,cal.calificacion,datos.nombre FROM datosgenerales as datos, calificaciones as cal, materias as mat WHERE datos.nocontrol=cal.nocontrol and mat.cvemateria = cal.cvemateria and datos.nocontrol=’”. $_GET['alumno'] .”‘”;
$result=mysql_query($sql,$conexion)or die(mysql_error());
$gestor = fopen(“datos.xml”, “w”);
// Aqui se debe insertar la linea con los atributos para la gráfica.
$cabezal= ”

4DB397
</series_color
“;
$linea2= ”
“;
while($row=mysql_fetch_row($result)){
$linea1 .= “$row[1]\n”;
$linea2 .= “$row[0]\n”;
$nombre = $row[2];
}
$linea1= ”
$nombre” . $linea1;
$linea1 .= “\n”;
$linea2 .= “\n”;
$final = ”
bar
“;
$contenido = $cabezal . $linea2 . $linea1 . $final;
fwrite($gestor, $contenido);
fclose($gestor);
include “cerrar_conexion.php”;
echo ”;
//echo ”;
?>

24 02 2009
EdgarMora

Hola arturoweb .
Tengo un problema, ojala y me puedas ayudar.
EL ejemplo que colocas en el blog funciona correctamente, siempre y cuando respete las ‘rutas’ tanto del directorio como de los archivos .swf y .php .
Pero, necesito graficar algunos datos en PHP bajo el modelo Model View Controller, el cual exige tener separadas las librerias de los archivos de datos, y es aqui donde la graficacion no funciona .
El servidor es apache2, mysql2, php5.
Archivo de datos :
apache/htdocs/mi_web/public/files/chart-data.php
Directorio OFC :
apache/htdocs/mi_web/library/ofc-library/*.php
Archivo SWF :
apache/htdocs/mi_web/library/open_flash_chart.swf

No manda error alguno, sin mebargo no muestra ninguna grafica.
Como puedo solucionar esto?

Gracias por la ayuda .

24 02 2009
arturoweb

Hola Edgar, asegurate de estar pasando bien las rutas tanto a la libreria cuando haces el inlude_once como al archivo de datos cuando haces el llamado a la funcion open_flash_chart_object.
No hay ninguna diferencia en cuanto a esto, salvo escribir bien las rutas de los archivos, por lo tanto no deberias tener problemas.
En tu caso creo que seria algo como esto:
include_once 'library/ofc-library/open_flash_chart_object.php';
open_flash_chart_object(500,250,'http://'. $_SERVER['SERVER_NAME'].'public/files/chart-data.php',false);

El codigo anterior va en la pagina o archivo donde quieres mostrar el grafico, suponiendo que se encuentra en el directorio ‘mi_web’. Si este archivo (grafico.php) estuviese en otro sitio la ruta anterior no seriviria. Por ejemplo, si estuviese en la misma ruta que esta el archivo de datos el codigo cambiaria de la siguiente forma:
include_once '../../library/ofc-library/open_flash_chart_object.php';
open_flash_chart_object(500,250,'http://'. $_SERVER['SERVER_NAME'].'/chart-data.php',false);

La ruta de inclusion de la libreria cambiaria, ya que tendrias que bajar dos directorios (files y public) para luego encontrar la libreria en library/ofc-library/
Este mismo principio aplica para la inclusión que haces en el archivo de datos. Ya que dicho archivo esta en un directorio diferente al de la libreria, debes bajar dos niveles y luego ubicar la libreria.

Espero que me haya hecho entender, cualquier duda escribe nuevamente.
Saludos

24 02 2009
Edgar Mora

Hola Arturo .
Nada, el área del grafico aparece en blanco.
mi_grafica.php :
include_once ‘library/ofc-library/open_flash_chart_object.php’;
open_flash_chart_object(300,200,’http://mivirtualhost.miweb.com.mx/public/files/chart-data.php’,false) ;
chart-data.php
include_once( ‘/usr/local/apache-2.0.61/htdocs/miweb/library/ofc-library/open-flash-chart.php’ );
al colocar http://mivirtualhost.miweb.com.mx/public/files/chart-data.php aparecen los datos correctamente, como en tu ejemplo.

Tengo a open-flash-chart.swf en en directorio raiz de mi web : htdocs/miweb/

No marca error, solo el área en donde debería aparecer el grafico esta vacía.
Como ves, Intento con la version 2.0 ?

24 02 2009
arturoweb

Hola Edgar, está mal la forma como colocas esa ruta: /usr/local… deben ser direcciones relativas.
Prueba de la siguiente forma:
mi_grafica.php
include_once($_SERVER["DOCUMENT_ROOT"].'/library/ofc-library/open_flash_chart_object.php');
open_flash_chart_object(300,200,’http://'.$_SERVER['SERVER_NAME'].'/public/files/chart-data.php’,false) ;

chart-data.php
include_once( $_SERVER["DOCUMENT_ROOT"].'/library/ofc-library/open-flash-chart.php' );
Prueba y me cuentas como te va.

25 02 2009
Edgar Mora

Que tal Arturo !
Quedo solucionado el error, pero me afecta en otro lado del sitio, te cuento.
Colocando las rutas relativas como me indicas, si funcionó, y también de la forma como lo tenía antes de hacer este último cambio (2009-02-24 18:10:47).
La causa del error : estoy usando un archivo .htaccess para negar el acceso a los archivos que estan eabajo del directorio miweb/ … también me es útil para redireccionar hacia una pantalla de login para el acceso de usuarios. Pero su existencia es la que impide la aparición de los datos del gráfico, al quitarlo, el gráfico aparece sin problema.
Ahora tengo que investigar la manera en la que se pueda redireccionar e impedir el acceso a los archivos via browser sin que se vea afectado el OFC.

Gracias por la ayuda.

26 02 2009
Edgar Mora

Hola de nuevo.

Arturoweb, sabes como indicar a la libreria .php que busque a open-flash-chart.swf en una ubicación distinta ?
Hasta el momento había mantenido el swf en el directorio raíz de mi sitio (miweb/), pero ahora tengo la necesidad de agregarlo al directorio library (miweb/library/) . Muevo el archivo, pero el gráfico deja de funcionar.
No he encontrado documentación al respecto.
Agradezco mucho tu ayuda

27 02 2009
Edgar Mora

Hola, como estas ?
Solucionado, es el último parametro que se pasa al archivo :
open_flash_chart_object(800,150,’application/models/chart-data.php’,false,‘library’);

Saludos

27 02 2009
arturoweb

Hola Edgar,
Me alegra que hayas podido solucionar el problema y que además lo hayas compartido para que otras personas puedan beneficiarse.
Gracias por el aporte!
Un saludo

27 02 2009
lila

Porfis porfis a ver si ahora si me puedes ayudar. Hace dias te escribi un comentario y agregue el codigo que estaba usando para la grafica pero no he recibido respuesta y veo que todos participan muy bien aqui. Mi problema es que mi grafica siempre toma los mismos valores, estos se generan automaticamente a traves de un xml. Cuando hago clic en generar grafica me voy a mi carpeta raiz y consulto mi xml y si toma los valores que tengo en mi base de datos pero el grafico siempre muestra los mismos, no etiendo donde esta el error.

27 02 2009
arturoweb

Hola lila, perdón no contestarte cuando preguntaste pero en esos días estuve un poco ocupado.
Escribe el código del archivo de datos y de la linea donde haces el llamado a la función para revisarlo y poder ayudarte.
Un Saludo.

1 03 2009
lila

Muchas gracias ojala puedas ayudarme.
Este es el codigo del archivo del cual tomo mis datos. De hecho es el mismo que te envie la primera vez. Más abajo te indico la linea donde se hace el llamado a la funcion.

<?
include”conexion.php”;
$sql= “SELECT mat.descripcion,cal.calificacion,datos.nombre FROM datosgenerales as datos, calificaciones as cal, materias as mat WHERE datos.nocontrol=cal.nocontrol and mat.cvemateria = cal.cvemateria and datos.nocontrol=’”. $_GET['alumno'] .”‘”;
$result=mysql_query($sql,$conexion)or die(mysql_error());

//Esta es la linea de la funcion donde mando llamar a mi archivo
//xml que se llama datos.xml
$gestor = fopen(”datos.xml”, “w”);
// Aqui se debe insertar la linea con los atributos para la gráfica.
$cabezal= ”

4DB397

2 03 2009
arturoweb

Hola lila, el código que te pido es donde pasas los datos para la gráfica y el llamado a la función open_flash_chart_object.

2 03 2009
lila

Hola Arturito mira la verdad he estado revisando mi codigo y no veo en ninguno de ellos la parte que me mencionas. No se que tanto afecte eso a mi sistema pero tal vez por eso no me funciona. Me puedes explicar exactamente donde iria esa parte. El que te envie es el unico archivo php que tengo, bueno y uno que se llama datos.php. Este es el codigo:
Gracias eres muy atento.

Documento sin título

<?

include”conexion.php”;

$sql= “SELECT datos.nocontrol,datos.nombre,car.descripcion,datos.semestre FROM datosgenerales as datos, carreras as car, materias as mat WHERE datos.clavecarrera=car.cvecarrera and datos.clavecarrera=mat.cvecarrera and datos.semestre=mat.semestre;”;

$result=mysql_query($sql,$conexion)or die(mysql_error());

echo’

No.ControlNombreCarreraSemestreAcción
‘;

while($row=mysql_fetch_row($result)){
echo”
$row[0]$row[1]$row[2]$row[3]
Grafica
“;
}
echo””;

include “cerrar_conexion.php”;

?>

3 03 2009
arturoweb

No entiendo porque envias el archivo de conexion a la base de datos si no tiene nada que ver con la grafica, el que deberias poner es el archivo de datos, ademas del pedazo de codigo donde haces el llamado a la funcion que pinta la grafica.
Sigue el ejemplo que está en este post.

24 03 2009
Jose

Estimado Arturo:

Recien vi la pagina y me parece muy interesante, lo que quisiera pedirte es que tanto los pasos 2 y 3 lo coloques en un archivo comprimido, cosa que cuando bajemos las librerías y pongamos en nuestro servidor web sea ya mas facil ejecutar el archivo, ya que como esta creo que hay errores en las comillas y desde ahi no esta funcionando.

Agradesco mucho la colaboración que nos brindas y se que esto nos servira a muchos que queremos hacer proyectos.

Saludos

Jose

30 03 2009
Fr@nk

Hola Arturo,

Por favor necesito me ayudes con algo, tengo mas o menos diseñado un sitio, al conectarme al mismo desde otro PC en red se me habre el sitio con las formas donde ingreso los datos para generar el grafico ya los recibe los pasa al grafico pero en esa PC en red no se genera el grafico, en la mia que es como el server si se genera el grafico,,?

Es necesario copiar alguna archivo o instalar algo en los clientes..?

3 04 2009
Beto

Hola Arturo!!!

Yo esto empezando a utilizar el open flash chart 2 con PHP, he seguido varios manuales (incluyendo el tuyo), pero sigo con el mismo problema me marca un error diciendo Fatal error: Class ‘graph’ not found… entiendo que significa que no encuentra esa clase… nose donde debe declararse o de donde la toma, mejor dicho, de donde la debe de tomar.
Nose si este error sea una simplonada que no estoy viendo pero ya pase varios dias con este error y no encuentro la solucion. Agradeceria mucho que me orientaras, nose, talvez ya le a pasado esto a alguien y me encantaria que me dijeran cual es la razon y como solicionarlo claro…

De antemano Agradesco su atencion y quedo en espera de tu respuesta…

4 04 2009
arturoweb

@Jose: Gracias por la recomendación, voy a tratar de hacer lo que dices, el problema es que no puedo subir archivos al servidor de wordpress, si alguien tiene alguna cuenta en mediafire o rapidshare, le agradecería que subiera los archivos y me enviara los enlaces para ponerlos en el post.

@Frank: No es necesario tener nada instalado en el cliente, salvo el plugin de flashplayer.

@Beto: Debes tener algún problema con la librería, de recomiendo que la descargues nuevamente, y que hagas bien el llamado a la inclusión, con la ruta correcta. Ya respondí un comentario sobre eso.

Saludos a todos.

8 04 2009
Fr@nk

Arturo,

Gracias por tu ayuda, te molesto otra vez pero ya instale adobe flash player en el otro PC (cliente) y se inicia el proceso de grafico que son esos circulos girando pero al final solo se muestra el dentro del recuadro la ruta “http://server/estadisticas/Semanal.php?var1=’.$f1.’&var2=’.$f2,false,”ofc/” de lo que se puede leer..

Gracias por tu valiosa ayuda.

2 05 2009
Antonio

Hola amigos estoy perdido con Open Flash Chart. El caso es que se como funciona pero mi problema es el siguiente; los datos se recogen en unos archivos con extension .grc por ejemplo uno que da los parametros de velocidad del viento seria este.
&x_labels=16:28,16:28,16:29,16:30,16:31,16:32,16:33,16:33,16:34,16:35,16:36,16:37,16:38,16:38,16:39,16:40,16:41,16:42,16:43,16:44,16:45,16:46,16:47,16:48,16:48,16:49,16:50,16:51,16:52,16:53,16:53,16:54,16:55,16:56,16:57,16:58,16:59,17:0,17:1,17:2,17:03,17:3,17:4,17:5,17:6,17:7,17:8,17:9,17:10,17:11,17:12,17:13,17:14,17:15,17:16,17:17,17:18,17:19,17:20,17:21,17:22,17:23,17:23,17:24,17:25,17:26,17:27,17:28,17:29,17:30,17:31,17:32,17:33,17:33,17:34,17:35,17:36,17:37,17:38,17:39,17:40,17:41,17:42,17:43,17:44,17:45,17:46,17:47,17:48,17:49,17:50,17:51,17:52,17:53,17:54,17:55,17:56,17:57,17:58,17:59,18:0,18:1,18:2,18:3,18:4,18:5,18:6,18:7,18:8,18:9,18:10,18:11,18:12,18:13,18:14,18:15,18:16,18:17,18:18,18:19,18:20,18:21,18:22,18:23,18:24,18:25,18:26,18:27,18:28,18:29,18:30,18:31,18:32,18:33,18:34,18:35,18:36,18:37,18:38,18:39,18:40,18:41,18:42,18:43,18:44,18:45,18:46,18:47,18:47,18:48,18:49,18:50,18:51,18:52,18:53,18:54,18:55,18:56,18:57,18:58,18:59,19:0,19:1,19:2,19:3,19:4,19:5,19:6,19:07&
&values=6.64,null,null,null,null,null,8.45,null,null,null,null,null,3.62,null,null,null,null,null,null,null,null,null,null,4.23,null,null,null,null,null,6.64,null,null,null,null,null,4.83,null,null,null,null,9.05,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2.42,null,null,null,null,null,null,null,null,null,null,9.65,null,null,null,null,null,7.24,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,5.43,null,null,null,null,null,6.64,null,null,null,null,null,null,null,null,null,null,null,null,null,null,6.03&
&y_min=0&
&y_max=20.57&
&title=Velocidad (3 horas),{color: #7E97A6; font-size: 12; margin: 15px 5px; text-align: center}&
&x_label_style=10,0×164166,2,20&
&x_axis_steps=1&
&y_legend=ºC,12,0×164166&
&y_label_style=10,0×164166&
&y_ticks=5,10,10&
&area_hollow=2,3,50,0×164166,Km/h,12,0xfeffc3&
&bg_colour=#FFFFFF&
&x_axis_colour=#164166&
&x_grid_colour=#cedcea&
&y_axis_colour=#164166&
&y_grid_colour=#cedcea&
&_inner_background=#FF0000&
&y_legend={
“text”: “Max Users”,
“style”: “{color: #164166; font-size: 20;}”
}&
&y_axis={
“stroke”:14,
“tick_length”:30,
“colour”:”#d09090″,
“grid_colour”:”#00ff00″,
“offset”:1
}

¿como hago para que Open Flash Chart interprete este tipo de archivo de datos?

Un saludo

2 05 2009
Antonio

Hola Arturo, ya he conseguido que me lea los archivos .grc donde estan los datos el problemilla lo tenia en otro lado. Quiero hacer que Open flash chart funcione en mi servidor pero los datos los voy a optener de otra web, ¿como llamo los archivos para que me los lea?
Este es mi codigo en mi servidor local

Sin embargo yo quiero leer el archivo viento.grc desde aquí: http://www.vuelolibreandalucia.es/meteo/loja/velocidad.grc

gracias

Un saludo

Antonio

2 05 2009
arturoweb

Hola Antonio, solo tendrias que modificar la linea donde haces el llamado a la funcion de inclusion del grafico:

include_once 'ofc-library/open_flash_chart_object.php';
open_flash_chart_object( 500, 250, 'http://www.vuelolibreandalucia.es/meteo/loja/velocidad.grc', false );

Un Saludo.

3 05 2009
Antonio

Hola Arturo, gracias por tu respuesta, ya habia probado esa opción pero no me muestra la gráfica, me muestra la dirección web metida en un recuadro. ¿Como puedo solucionarlo? En local si copio los datos en mi direcorio raiz funciona correctamente pero no si los llamo como tu me cometas.
Intenta hacer tu la llamada a la dirección que te remito ver si te genera la grafica.

‘http://www.vuelolibreandalucia.es/meteo/loja/velocidad.grc

Un saludo
Antonio

9 05 2009
Antonio

Hola Arturo no logro que me muestre la grafica poniendo la url donde estan los datos, ¿como puedo hacerlo? ¿que estoy haciendo mal? podria hacer de alguna forma que se bajara a mi servidor el archivo de datos para luego leerlo desde ese sin problema. Gracias
Un saludo
Antonio

13 05 2009
Fr@nk

Arturo,

Gracias por tu ayuda, te molesto otra vez pero ya instale adobe flash player en el otro PC (cliente) y se inicia el proceso de grafico que son esos circulos girando pero al final solo se muestra el dentro del recuadro la ruta “http://server/estadisticas/Semanal.php?var1=’.$f1.’&var2=’.$f2,false,”ofc/” de lo que se puede leer..

Gracias por tu valiosa ayuda.

26 05 2009
JORGE PATIÑO

Hola arturo, acabo de descargar open-flash-chart-2-Jormungandr-2 version 1.9.6 pero no me funciona el ejemplo que tienes arriba.
En el primer archivo grafico.php presento un error por lo tanto lo modifiqué asi:
include_once ‘ofc-library/open_flash_chart_object.php’;
por
include_once ‘ofc-library/open-flash-chart-object.php’;
LA PAGINA YA NO MUESTRA ERROR PERO ME SALE EN BLANCO

GRACIAS POR LO QUE ME PUEDAS AYUDAR

27 05 2009
arturoweb

Hola a todos, hay una nueva versión de Open-Flash-Chart que ha reemplazado la anterior, en esta nueva version, el archivo de datos es en formato JSON, por lo tanto el ejemplo que aquí planteo no va a funcionar.

Dejo acontinuación el link, donde podran ver los nuevos tutoriales para esta version 2.

http://teethgrinder.co.uk/open-flash-chart-2/tutorial.php

Saludos.

5 06 2009
Blank

hola, necesito una ayuda, como puedo crear una grafica en php

15 06 2009
EdgarMora

Hola ArturoWeb.

Pregunta: ¿ Como colocar el fondo de la grafica transparente?
En tu ejemplo del inicio, al área en color amarillo, deseo que aparezca transparente.

Ojala y puedas ayudarme.

Gracias de antemano y saludos .

19 06 2009
Joseph

Hola Arturo, pq a mi me sale el siguiente error, qué no estoy haciendo bien?

Warning: main(ofc-library/open_flash_chart_object.php) [function.main]: failed to open stream: No such file or directory in /nfs/c01/h02/mnt/35318/domains/www.vinculacionnuevaalianza.org.mx/html/chart.php on line 10

Warning: main() [function.include]: Failed opening ‘ofc-library/open_flash_chart_object.php’ for inclusion (include_path=’.:/usr/local/php-4.4.8-1/share/pear’) in /nfs/c01/h02/mnt/35318/domains/www.vinculacionnuevaalianza.org.mx/html/chart.php on line 10

Fatal error: Call to undefined function: open_flash_chart_object() in /nfs/c01/h02/mnt/35318/domains/www.vinculacionnuevaalianza.org.mx/html/chart.php on line 11

19 06 2009
EdgarMora

Que tal Joseph .

De acuerdo a mi experiencia con OFC, el problema es con tus rutas . Vaya, no encuentra la clase “open_flash_chart_object.php” en la ruta que especificaste.

Intenta con rutas relativas, anteponiendo “./” ó “../” al resto de la ruta . Me parece que más arriba hay usuarios con el mismo problema.

Saludos.

22 06 2009
Joseph

Gracias por tu respuesta Arturo, también habia descargado la versión 2, y ya siguiendo los ejemplos de los tutoriales todo resulto bien, ahora necesito tu ayuda para poder gráficar los datos de la fila de una tabla MySQL, por ejemplo, tengo los campos: PAN, PRI, PRD, PVEM, PT, PANAL, PC, PA, con datos númericos. ¿Cúal sería la consulta SQL?, la tabla se llama “encsal” y digamos que la fila es el id=1. Ojala puedas ayudarme, Gracias.

26 06 2009
Marisnel

Hola Arturo espero puedas ayudarme con esto, estoy tratando de guardar la imagen de un grafico generado con open flash chart-2, he seguio el tutorial al pie de la letra, pero no me funciona. algun consejo para exportar imagenes png o jpg???

26 06 2009
arturoweb

@Joseph: Aca hay cuatro tutoriales (en ingles) donde explican como generar graficos con open-flash-chart tomando los datos de una BD.
http://teethgrinder.co.uk/open-flash-chart-2/tutorial-db-menu.php

@Marisnel: No he hecho eso de exportar los graficos como imagenes, pero en la pagina del proyecto (http://teethgrinder.co.uk/open-flash-chart-2/save-as-image-menu.php) explican varias formas de hacerlo (en ingles).

Un saludos a tod@s.

3 07 2009
Fernando

Hola Arturo, tengo un problema y que no consigo avanzar

Open Flash Chart
IO ERROR
Loading test data
ERROR #2032

This is the URL tried to open ../../data-files/candle.txt

1º Yo no tengo en ningun sitio el candle.txt y tampoco veo en ningun sitio donde intente llamar a esa ruta.

2º En el Archivo de datos he encontrado un include que en mi php5-ofc-library no viene.
include_once( ‘ofc-library/open-flash-chart.php’ );

en mi php5-ofc-library viene
lib
Example
package.xml
open-flash-chart-object.php
build_package.php

Estoy deseperado. A ver si me puedes ayudar. Muchas Gracias de antemano

9 07 2009
Nancy

Hola Arturo. Gracias por poner esta información a disposición. Me ha sido muy útil.
Te cuento que he logrado realizar varios graficos y modificarlo de acuerdo a ciertas necesidades, utilizando Open Chart version 1.
El tema es que en varias Pc’s se ven perfecto, solo en una no… la de mi jefe!
En la de él, ya sea utilizando Mozilla o IExplorer, le muestra una URL en vez del grafico.
Le faltará instalar algún plugin?
Porque los graficos en el resto de las PC’s se ven muy bien.
Todas las pc tienen Win XP.
Espero puedas darme alguna pista ya que no encuentro la razon por ningun foro.
Gracias nuevamente.

Saludos,
Nancy

30 07 2009
Nancy

Me respondo la pregunta que hice por si a alguien le puede servir.
Mi cuestion habia sido:
“… he logrado realizar varios graficos y modificarlo de acuerdo a ciertas necesidades, utilizando Open Chart version 1.
El tema es que en varias Pc’s se ven perfecto, solo en una no… la de mi jefe!
En la de él, ya sea utilizando Mozilla o IExplorer, le muestra una URL en vez del grafico.
Le faltará instalar algún plugin? ”

Lo resolví instalando el plugin “shockwave” y se pudieron visualizar todos los graficos.

Saludos,
Nancy

22 07 2009
Arturo Alvarez

Tocayo buena noche, nuevamente molestando, estoy usando el OFC 1.9.7 y quiero una grafica de barras horizontal y no encuentro la sentencia.

Gracias por tu apoyo.

Saludos

6 08 2009
arturoweb

Hola Arturo, no estoy seguro si en OFC 1 se pueda hacer, pero en la ultima versión de la libreria si es posible hacerlo.

http://teethgrinder.co.uk/open-flash-chart-2/horizontal-bar-chart.php

Tendrias que evaluar si vale la pena hacer la migración a la nueva versión de la libreria, ya que las dos no son 100% compatibles.

Un saludo.

23 07 2009
tlmejia

Hola buenas tardes, soy nueva en el uso de esta herramienta y pues lo que quiero hacer es generar una gráfica aprtir de una consulta de mysql, entonces lo que hago es lo siguiente:

title( ‘Retencion ‘. date(“m”) . date(“Y”), ‘{font-size: 26px;}’ );

$g->set_data($data);
$g->line_dot( 4, 6, ’0x80a033′, ‘Retencion’, 10 );

// label each point with its value
$g->set_x_labels($labels);

// set the Y max
$g->set_y_max( 250 );

$g->y_label_steps( 100 );

echo $g->render();
?>
donde data son valores enteros con decimales y labels es el campo fecha
pero lo que me muestra en x, es un valor super raro, que no se de donde saca y en y, me muestra mucho valores muy amontonados

los valores que deberia de imprimir son:

fecha(labels, valor en x): son 5 fechas diferentes del mes de julio, por ejemplo 2009-07-02, 2009-07-10 etc..
salida_clarif(valor en y): valores que pueden variar entre 200 hasta 400 o quinientos

Pero no sé como hacerle, bueno intente el ejemplo que mando, pero no se como imprimir los valores, ayudaaa porfavor, gracias y espero su respuestaaa

25 01 2011
Cristián

Quiero hacer exactamente lo mismo que usted, pudo resolverlo? alguien puede ayudarme?

title( ‘Grafica’, ‘{font-size: 20px; color: #736AFF}’ );

$silo_1 = array();

$sql = “SELECT downloads FROM descargas where id_silo = ’1′ order by date desc”;
$res = mysql_query($sql) or die(“Error en consulta SQL”);
while( $row = mysql_fetch_array($res) )
{

$silo_1[] = $row[0]; //Si comentas esta linea y descomentas la siguiente veras que no se generan puntos de más
// $silo_1[] = number_format($row[0], 2);

}
$g->set_data( $silo_1 );

$g->line_dot( 3, 5, ’0x9933CC’, ‘Silo 1′, 10 );

$sql = “SELECT date FROM descargas”;
$res = mysql_query($sql) or die(“Error en consulta SQL”);
while( $row = mysql_fetch_array($res) )
{
$fecha[] = ( $row[0] );

}
$g->set_x_labels( $fecha );

$g->set_x_label_style( 10, ’0×000000′, 2, 0 );
$g->set_x_legend(‘Valor del eje X’, 12, ‘#736AFF’ );

$g->set_y_max( 20 );
$g->y_label_steps( 20 );
$g->set_y_legend( ‘ Eje y ‘, 12, ‘#736AFF’, 0 , 1.0 );
echo $g->render();

?>

La estructura de la base que uso es la siguiente

CREATE DATABASE `base`

USE `base`;

DROP TABLE IF EXISTS `descargas`;

CREATE TABLE `descargas` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`id_silo` INT(3) DEFAULT NULL,
`date` DATE DEFAULT NULL,
`downloads` VARCHAR(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MYISAM AUTO_INCREMENT=20 DEFAULT CHARSET=latin1;

Espero que alguien pueda ayudarme.Gracias

5 08 2009
Mishel

hola autor web, bueno mira yo soy nuevita con esto de la programacion en PHP y bueno quisiera diseñar un sistema pequeño con flash,php y mysql donde me muestren difernetes tipos de estadisticas y los valores los puedo enviar desde flash a PHP y esos valores que envie quisiera que se grafiquen, como por ejemplo es un sistema de facturacion que me mustren diferentes tipo de estados como entregado, no entregato, no vive alli, etc y pueda mostrar los graficos depende al mes anuales todos etc, espero me puedas ayudar muchas gracias

19 09 2009
Ingrid

Hola he realizado el tutorial pero me aparece lo siguiente:

Warning: include_once(open_flash_chart_object.php) [function.include-once]: failed to open stream: No such file or directory in /var/www/chart.php on line 6 Warning: include_once()

Warning: include_once() [function.include]: Failed opening ‘open_flash_chart_object.php’ for inclusion (include_path=’.:/usr/share/php:/usr/share/pear’) in /var/www/chart.php on line 6

Fatal error: Call to undefined function open_flash_chart_object() in /var/www/chart.php on line 7

Estoy con ubuntu y con php5

3 11 2009
dalpazos

Hola arturo, veo que tienes muy dominado el asunto del open flash charts, te escribo porque estoy desesperado, la verdad no entiendo en absoluto lo que pasa con mi grafica.

Resulta que le envio los datos de un array php para que me genere la grafica a partir de ellos. Me genera el json perfectamente, lo he revisado y re-revisado. En cambio la grafica que me genera es la misma que genera si no le envias ningun dato. Me extraña muchisimo ya que si creo los arrays dentro del php que genera el json me crea la grafica correctamente pero pasandolos mediante el array no hay manera de que la muestre.

$dato)
{
$n1 = (int)$misdatos[$key]['Visitas'] ;
$n2 = (int)$misdatos[$key]['Vistas'] ;
$data_1[$cont] = $n1;
$data_2[$cont] = $n2;
$dia = substr($misdatos[$key]['fecha'],6,2);
$mes = substr($misdatos[$key]['fecha'],4,2);
$año = substr($misdatos[$key]['fecha'],0,4);
$fecha= $dia . “-” . $mes . “-” . $año;
$data_3[$cont] = (string)$fecha;
$cont ++;
}

function dotVisitas($col)
{
$default_dot = new dot();
$default_dot
->size(3)
->halo_size(1)
->colour($col)
->tooltip(‘Fecha: #x_label#Visitas: #val#’);
return $default_dot;
}
function dotVistas($col)
{
$default_dot = new dot();
$default_dot
->size(3)
->halo_size(1)
->colour($col)
->tooltip(‘Fecha: #x_label#Vistas: #val#’);
return $default_dot;
}

$title = new title( date(“D M d Y”) );

$line_1 = new line();
$line_2 = new line();
$line_1->set_default_dot_style(dotVisitas(‘#f00000′));
$line_2->set_default_dot_style(dotVistas(‘#3D5C56′));
$line_1->set_values( $data_1 );
$line_2->set_values($data_2);
$line_1->set_colour( ‘#f00000′ );
$line_2->set_colour( ‘#3D5C56′ );

$y = new y_axis();
$y->set_range( 0, 2000, 100 );

$x = new x_axis();
$labels = new x_axis_labels();
$labels->set_labels($data_3);
$labels->visible_steps(1);
$labels->rotate(90);
$x->set_labels($labels);
$chart = new open_flash_chart();
$chart->set_title( $title );
$chart->add_element( $line_1 );
$chart->add_element($line_2);
$chart->set_x_axis($x);
$chart->set_y_axis( $y );
echo $chart->toPrettyString();
?>

Agradecería mucho tu ayuda. Un saludo

19 11 2009
Fercho

Hola Artur!!!

Estoy intentado incrustar una grafica en un sitio web, mediante la consulta de BD, y tengo los siguientes problemas:
1.- En firefox la grafica anda bien, es decir al hacer una modificacion en el codigo en este browser si se notan los cambios al refrescar, sin embargo esto no sucede con IE 8, no se actualizan los cambios lo unica manera q encontre es que tengo que eliminar los archivos temporales de Internet, y asi si se actualiza, pero logicamente esto no deberia de suceder. Crees que se deba por que es la version 8 del IE?? o cual podria ser el motivo??.
2.- Al momento de asignarle valores desde la consulta, dichos valores si se guardan en el atributo $bar_1->data[] de la grafica (es de tipo Glass solo para aclarar). pero al momento de graficar las barras no se muestran y en la parte superior de la grafica abajito del titulo se observan unas pequeñas lineas como si intentara ahi graficar las barras, pero los valores si se encuentran dentro del rango que le di yo. a que se podria deber esto?? y te digo que si se guardan los valores por que he realizado que me los escriba en pantalla y si tiene valor ese parametro.
ejemplo:
si la consulta me arroga 3 resultados(2,0,0) en la grafica no me muestra las barras. pero dichos valores si estan almacenados. y me parece q a otro usuario ya tambien le sucedio esto.

Gracias de antemano.

19 11 2009
friends

Hola, disculpa tengo una duda!!!….la grafica puedo mostralo en un pdf??? o bien si le doy clic derecho a la grafica me manda la opción de print chart….de q manera puedo mandarlo a imprimir de esa manera pero al darle clic a un link, sin necesitan de darle clic derecho…etc. espero q me puedas ayudar.Saludos cuidate y gracias de antemano.

20 11 2009
Fercho

Que tal amigos…

En vista de que nadie contesto mi post les quiero comentar algo, descubri el origen del pq en las graficas en la parte superior aparece una linea, como si ahi intentara dibujar la barra, y al pasar el mouse sale “undefined”, esto es debido a que los valores de los datos son de tipo string, por tal motivo se requiere ya sea pasarlos a entero o flotante (segun sea el caso deseado) pueden utilizar eso:

(int)$variable_string o en su caso (float)$variable_string

de esta manera estas forzando a la variable “$variable_string” a se convierta el tipo de dato especificado. Algo importante es que deben de utilizar los parentesis, es decir, asi como se los puse asi debe de ser.

El dato anterior corrige el error de “undefined” pero aun no consigo que me grafique los datos, ya estan convertidos a tipo int en mi caso, pero al pasar el mouse me aparece 0 y si hago un echo o un alert de ese valor me aparece el valor verdadero ( 5 por ejemplo), aun estoy trabajando en eso, si alguien sabe el por que suscede esto creo q no seria el unico en agradesercelos.

Muchas gracias y espero que a alguien (aparte de mi) le haya servido este comentario.

20 11 2009
arturoweb

Hola Fercho … respecto a tu problema con IE, estoy seguro que no se actualiza porque los datos estan cacheados. La mejor forma de arreglar esto, es agregando dentro de los parametros que envias una variable con un numero randomico, de esta forma te aseguras que el navegador no toma los datos de la caché sino que envia siempre la peticion al servidor.
No sé muy bien que version de OFC estás usando, en todo caso, suponiendo que usas la version 1, la solución seria algo como essto:

include_once 'ofc-library/open_flash_chart_object.php';
open_flash_chart_object(500,250,'http://'. $_SERVER['SERVER_NAME'].'/chart-data.php?r='.rand(),false);

Respecto a tu otra duda, primero gracias por aclarar lo de la conversion de tipos, de seguro a otra persona le servirá. Y segundo, estás guardando los datos primero en un array y luego asignandoselos mediante la funcion set_data($data)??

Saludos!

20 11 2009
Fercho

Hola, buen dia, Gracias por responder Artur, por el momento no te puedo colocar el codigo debido a que no cuento en este momento con la computadora en la cual lo realizando, sin embargo te mostrare una parte para que te des una idea de como de lo que esa parte de la asignacion.

En un archivo php hago la consulta a la BD y todos lo valores devueltos se guardan en un array llamado $valores (cuyo contenido es: 1,0,5,0,0 ya como enteros). Para hacer la asignacion en la grafica hago lo sig.

//*******************************************************

include_once( ‘ofc-library/open-flash-chart.php’ );

$bar_1 = new bar_glass( 70,’#81F781′, ‘#088A08′ );
$bar_1->data[] = array_values($valores);

$g = new graph();
$g->data_sets[] = $bar_1;
.
. //mas codigo
.
echo $g->render();

//****************************************************

en la grafica, las barras salen como si tuvieran valor de cero, pero al hacer un echo general para ver los datos generados se muestra lo siguiente:

x_legend=LETRA,14,#90404B4& &x_label_style=10,#90404B4,2& &x_axis_steps=1& &y_legend=VALOR,14,#D7191F& &y_ticks=5,10,7& &x_labels=A,B,C,D,E& &y_min=0& &y_max=7& &bg_colour=#FFFFFF& &x_axis_colour=#909090& &x_grid_colour=#D2D2FB& &y_axis_colour=#909090& &y_grid_colour=#D2D2FB& &bar_glass=70,#81F781,#088A08& &values=1,0,5,0,0

como podras observar si estan contenidos los valores en la variable “values” sin embargo no se grafican, aun trabajo en ello, pero no vendria mal una mano.

P.D. Tengo la version 1.9.7 de OFC descargada del sitio de teethgrinder, uso Firefox e IE8 probare eso que me dijiste de la cache y luego te comento.

20 11 2009
Fercho

A otra cosa que se talves se me paso comentar, el problema parece ser con los array, debido a que si le asigo valores directamente:

$bar_1->data[] = 3; o algo como $a=4; $bar_1->data[] = $a;

si grafica todos los valores correctamente, logicamente esto lo realice para pruebas.
tambien utilice un for para hacer la asigacaion de $valores a $bar_1 por que pense que probablemente la funcion array_values() era la que estaba fallando, pero no, el problema continuo.

Ahora si, Muchas gracias

23 11 2009
Mario

Hola Artur,

Primeramente agradecerte el post, me está ayudando mucho…

Te cuento mi problema (creo q es parecido al de Fercho). Hice una aplicación que pasaba el usuario a Open Flash Chart, hacía una consulta en la base de datos, cogía la información necesaria, los metía en un array y generaba la gráfica. Grafica perfectamente y no tengo ningún problema.

Al portar la aplicación a otra web empecé a tener problemas, pero el caso es que lo único que cambia es el usuario, que en lugar de ser un entero como en la aplicación anterior, ahora es un VARCHAR.

Pasa bien los parámetros a Open Flash Chart, pero no me muestra la gráfica, sino que me muestra el mensaje “undefined”. He probado a pasar la variable usuario como entero pero nada…

Iba a poner el código pero es demasiado largo, así que si puedes darme una dirección de correo para contactar contigo te lo agradecería mucho. Después pondríamos la solución por aquí para ayudar a más gente…

Muchas gracias!

23 11 2009
Mario

Hola de nuevo, sigo dándole vueltas y sigo pensando q el problema está en que la variable que le paso es entera. Me gustaría saber si existe alguna función que transforme un string en un entero.

He probado (int)$usuario y intval($usuario) pero sólo funciona en caso de que el string contenga un entero (por ejemplo “12345″); sin embargo cuando el string almacena una cadena de caracteres, el valor devuelto es 0.

Por favor, si alguien sabe de alguna función que permita convertir cada caracter del string en un número y/o vicerversa les estaría muy agradecido.

P.D.: He buscado en Google pero siempre se hace referencia a (int) y valint()…

Un saludo!

23 11 2009
Mario

Rectifico una errata “la variable que le paso NO es entera” de mi anterior mensaje.

Al final he resuelto el problema generando un número entero aleatorio asociado al usuario y almacenándolo en la base de datos. Así, cuando tengo que llamar a Open Flash le envío el número entero asociado al usuario que realiza la petición.

Para recoger los datos que necesito, Open Flash hace una consulta MySQL buscando el entero asociado (en lugar del string correspondiente al nombre de usuario) y me genera la gráfica correctamente…

¡Espero que esto le sirva de ayuda a alguien con el mismo problema!

24 11 2009
Fercho

PROBLEMA SOLUCIONADO

Que tal Mario, gracias por postear la solucion a tu problema, no me ha sucedido eso y espero no me llege a pasar pero si en algun momento me llegara a ocurrir retomare tu comentario, se que sera de ayuda para muchos otros.

Bueno, les cuento que ya he dado solucion a mi problema de graficacion, el cual ya posteo por si alguien necesitase de esta ayuda.

*********** PROBLEMA *************

Se creo un archivo php en el cual se realiza una consulta a la BD y los valores obtenidos se pasan en un array al archivo que genera la grafica. En dicho archivo se asignan los valores de ese array al array $bar_1->data[] (el cual sirve para almacenar los datos que seran graficados) independientemente del metodo a utilizar para hacer la reasignacion (intente con un for y hacer una asignacion indice por indice, o usar la funcion array_values() directamente).

En si, el problema es que la grafica no “graficaba” (perdonen y valga la redundancia) los valores que se pasaban, en un principio se creyo que no se estaba haciendo la reasignacion correctamente, despues se observo que los valores si estaban almacenados en $bar_1->data[] sin embargo no eran tomados en cuenta por el SWF que genera la grafica.

*********** SOLUCION **************

Para dar solucion al problema antes mencionado, se realizaron varios analisis de los archivos, incluyendo una descomprension del SWF, pero oh!!! sorpresa!!! la solucion es tan facil como tirar una moneda de la punta de la torre Eiffel y que caiga en un vaso colocado en el piso…dejenme decirles a todos aquellos que tengan este problema que lo unico que se tiene que hacer es que en el archivo que genera la grafica, en ese mismo archivo se tiene que realizar la consulta a la BD, ¿a que se debe esto? realmente no lo se, pero a mi me funciono y asi sin mas ya no tuve mas problemas, creo que no seria mala idea conseguir un buen debugeador php para ver que es lo que estaba pasando, si conocen uno recomiendenlo, por que sinceramente se me hace una solucion un poco “tonta” sin embargo funciona, digo “tonta” no por que este mal, si no por que “teoricamente” debe de funcionar eso que estaba yo realizando no creen?? es decir pasar los valores de un array a otro, y de un archivo a otro y asi generar la grafica, pero bueno creo mientras encuentro otra forma asi lo dejare de momento.

Gracias a todos aquellos que nos dan soluciones a problemas, y gracias tambien a los que exponen sus problemas, en especial gracias a Artur por la ayuda brindada.

GRACIAS y suerte chavales con sus graficas, disfrutenlas que estan chiditas!!!!

18 12 2009
gustavo

Hola a todos veo que a varios les causa un poquito de problemas el crear el primer ejemplo de graficos con Flash Chart aqui les dejo un link para que lo descarge y lo puedan ejecutar en su servidor. ojo yo utilice el wamp5 pero tambien lo use en wamp y funciono a la perfeccion no hay ningun problema espero q les funcione igual.

http://rapidshare.com/files/322435565/public_html.rar.html

13 01 2010
Jaime

HOLA ARTUROWEB
SABES TENGO UN PEQUEÑO PROBLEMA ESPERO TU PRONTA RESPUESTA TE LO AGRADECERÍA MUCHO DE VERDAD AMI ME MUESTRA EL GRÁFICO TAMBIÉN ME IMPRIME LOS CÓDIGOS COMO PUEDO HACER QUE NO ME MUESTRE LOS CÓDIGOS

24 01 2010
Adriana Juarez

Hola Arturo,

He tenido muchos problemas, ya baje varias veces todos los archivos y realizado los ejemplos pero solo conseguí que se visualizara uno, el de
http://www.desarrolloweb.com/articulos/open-flash-chart.html

pero trae una configuración diferente y pues me interesa saber y manejar los demás http://teethgrinder.co.uk/open-flash-chart/ pero no encuentro la solución, podrias enviarme si eres tan amable un tutorial de como echar andar estos ya con los posibles detalles que los demás han comantado y así no errar por favor.

Plis Arturo.

Estoy desesperada.

24 01 2010
Adriana Juarez

Hola Arturo ya conseguí que funcionara varias gráficas, pero no encuentro el parametro para cambiarle el límite en las graficas de barras, ya que siempre me aparece como maximo 10 en la Y, osea del 0-10 en la barra vertical indicador de la izquierda. jejjeje, bueno, ese parametro, como se lo cambio????

muchas gracias

24 01 2010
Adriana Juarez

Hola Arturo, obtengo varias veces este error: Open Flash Chart

JSON Parse Error [Syntax Error]
Error at character 0, line 1:
0:

que puede ser?

Gracias

24 01 2010
arturoweb

Hola Adriana, ese error lo obtienes porque tienes mal formado el archivo JSON con los parametros del grafico.

9 03 2010
dietercuba

Hola Arturo, mira estoy tratando de generar un grafico desde MS Access mediante odbc con open flash chart pero no me genera el grafico, dime si esto es posible y si es asi sabes como hacerlo ??? mira aqui te envio el codigo que tengo hasta ahora, el esta cogiendo bien los datos pero no me muestra el grafico, solo en modo texto los valores de los arrays data[] y labels[] y algunas carateristicas del grafico en modo texto que vienen en el codigo php :

<?php

$db = odbc_connect('bd','','');
if (!$db) {
exit('Error en la conexión a la base de datos');
} else {
$consulta = "SELECT * FROM tblGeneracion";
$result = odbc_exec($db,$consulta);
if (!$result) {
exit("Error en la consulta");
} else {
$data = array();
$labels= array();

while (odbc_fetch_array($result))
{
for($i=1;$ititle( ‘Grafica desde BD’, ‘{font-size:18px; color: #d01f3c}’ );
$g->set_data($data);
$g->bar_filled( 20, ‘#9933CC’, ‘#8010A0′, ‘Porcentajes de uso’, 10 );

$g->set_x_axis_steps( 1 );
$g->set_x_label_style(10, ‘#9933CC’, 0, 1);
$g->set_x_labels($labels);

$g->y_label_steps( 4 );
$g->set_y_max( 100 );
$g->set_y_legend( ‘company’, 12, ‘#736AFF’ );

echo $g->render();

?>

24 03 2010
galax13a

yo les recomiendo que bajen la nueva version y trabajen sobre estos nuevos ejemplos, ami tambien me paso muchos incovenientes con la version uno aqui les dejo el link
http://teethgrinder.co.uk/open-flash-chart-2/

ahi estan los ejemplos ilustrativos y es mucho mas sencilla que la enterior

9 05 2010
David Velázques

Hola, quisiera saber como obtener una imagen del grafico porque me hace falta a la hora de imprimir, por ejemplo, tengo la pag web con el grafico, y un boton imprimir que llama a la función wondows.print() de javascript pero el contenido del flash no sale, por favor digánme que puedo hacer para imprimir ese flash., muchas gracias de antemano.

30 10 2010
Frank

Buenos días ArturoWEB:

Por favor solicito tu ayuda, pues veras al imprimir unos datos en un gráfico los $labels son cargados con datos de una base en MYSQL en esta los datos están grabados usando un utf8_encode y los recupero para mostrarlos con utf8_decode de esta manera al imprimirlos aparecen las tildes y Ñ pero al usar la librería de OFC estos datos siguen saliendo mal a pesar de estar usando el utf8_decode luego de recuperado los datos y guardarlos en un array;

while ($reg=mysql_fetch_array($registros))
{
$labels[]=utf8_decode($reg['Nombre']);
$data[]=$reg['Total'];
$j++;
$k++;
}

Que podría hacer para solucionar este problema con las tildes y Ñ.

14 11 2010
Peter

Arturo,

Me topé con tu página, gracias por tu gran ayuda. Estoy hace tiempo luchando con la versión 2 del chart. Mi problema es que las gráficas las genero a partir de la información de un Formulario.
El archivo de datos se genera bien, pero no se como llamar a las 2 páginas al mismo tiempo, para generar la gráfica.
Espero me puedas ayudar. Gracias.

23 12 2010
alonso

hola arturoweb tengo un problema mi jefe quiere que le muestre los datos de cuantos servicios realizo por mes (ejemplo: 5 en el mes de julio, 2 en el mes de dic), mi tabla servicios tiene son:
idServicio
tipoServicio
nombreServicio
descripcionServicio
materialUtilizado
FechaInicio
FechaTermino
idCliente

tengo una pagina de conexion.php a mi base de datos

quiero crear una grafica lineal, pero no se como jalar los valores de mi base de datos idServicios que es el contador de cuantos servicios y fechaInicio ( 2010-12-01) de aqui quiero jalar el mes.

Grafica.php

chart-data.php

title( ‘Servicios por mes del año ‘.date(“Y”), ‘{font-size: 26px;}’ );
$g->set_data( $data );
// valores del eje X
$g->set_x_labels( array(‘Ene’,’Feb’,’Mar’,’Abr’,’May’,’Jun’,’Jul’,’Ago’,’Sep’,’Oct’,’Nov’,’Dec’ ) );
// maximo valor del eje Y
$g->set_y_max( 60 );
// pasos del eje y
$g->y_label_steps( 6 );
$g->set_y_legend(‘num de servicio’, 12, ‘#736AFF’);
// mostrar los datos
echo $g->render();
?>
toy utilizando phpmyadmin
realmente stoy decesperado lo tengo q entregar antes posible ya llevo buscando ejemplos de graficas y no e podido realizar ninguna, solamente con la tuya la del principio, es la unica q me a salido y quiero implimentarle eso que te digo,si me puedes ayudar xfa te lo agradeceria.

23 12 2010
alonso

esta es mi conexion.php

Grafica.php

chart-data.php

title( ‘Servicios por mes del año ‘.date(“Y”), ‘{font-size: 26px;}’ );
$g->set_data( $data );
// valores del eje X
$g->set_x_labels( array(‘Ene’,’Feb’,’Mar’,’Abr’,’May’,’Jun’,’Jul’,’Ago’,’Sep’,’Oct’,’Nov’,’Dec’ ) );
// maximo valor del eje Y
$g->set_y_max( 60 );
// pasos del eje y
$g->y_label_steps( 6 );
$g->set_y_legend(‘num de servicio’, 12, ‘#736AFF’);
// mostrar los datos
echo $g->render();

?>

23 12 2010
alonso

conexion.php

perdon por mandarlo otraves por partes no me publico mi codigo no c por q.

7 01 2011
Andrés Felipe García Cataño

CORDIAL SALUDO
ARTURO

Arturo me gustaria que pudieras ayudar con algo de open flash chart, la duda es la siguiente, ¿se pueden realizar graficas en tiempo real que me vayan mostrando los datos cada intervalo de tiempo ejemplo: 15min o media hora, dinamicamente.

Los datos se obtendrian a traves de una base de datos en mysql..

ó solo se pueden mostrar graficas estaticas…

Lo que me gustaria hacer seria algo como se puede ver en esta página: http://www.fusioncharts.com/widgets/Demos/RealTimeJS/Index.html

GRACIAS POR TU COLABORACION Y AYUDA…

ATT: ANDRES GARCIA
PEREIRA RISARALDA

25 01 2011
Cristián

No logro graficar número con decimales alguien puede ayudarme?
Aqui dejo mi código

title( ‘Grafica’, ‘{font-size: 20px; color: #736AFF}’ );

$silo_1 = array();

$sql = “SELECT downloads FROM descargas where id_silo = ’1′ order by date desc”;
$res = mysql_query($sql) or die(“Error en consulta SQL”);
while( $row = mysql_fetch_array($res) )
{

$silo_1[] = $row[0]; //Si comentas esta linea y descomentas la siguiente veras que no se generan puntos de más
// $silo_1[] = number_format($row[0], 2);

}
$g->set_data( $silo_1 );

$g->line_dot( 3, 5, ’0x9933CC’, ‘Silo 1′, 10 );

$sql = “SELECT date FROM descargas”;
$res = mysql_query($sql) or die(“Error en consulta SQL”);
while( $row = mysql_fetch_array($res) )
{
$fecha[] = ( $row[0] );

}
$g->set_x_labels( $fecha );

$g->set_x_label_style( 10, ’0×000000′, 2, 0 );
$g->set_x_legend(‘Valor del eje X’, 12, ‘#736AFF’ );

$g->set_y_max( 20 );
$g->y_label_steps( 20 );
$g->set_y_legend( ‘ Eje y ‘, 12, ‘#736AFF’, 0 , 1.0 );
echo $g->render();

?>

La estructura de la base que uso es la siguiente

CREATE DATABASE `base`

USE `base`;

DROP TABLE IF EXISTS `descargas`;

CREATE TABLE `descargas` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`id_silo` INT(3) DEFAULT NULL,
`date` DATE DEFAULT NULL,
`downloads` VARCHAR(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MYISAM AUTO_INCREMENT=20 DEFAULT CHARSET=latin1;

Espero que alguien pueda ayudarme.Gracias

28 02 2011
lizzy

Hola! tengo un problema, la momento de hacer mi chart como lo dice el tutorial de la pagina de open chart…
me aparece este mensaje:
C:\Users\John\Documents\flash\svn\data-files\data-41.txt
q no entiendo de donde sale y xq sale asi..jeje
si pudieras ayudarme grax!

28 02 2011
lizzy
9 05 2011
carlos villanueva

Estoy tratando de instalar este Open flash chart, pero me da problemas:
El error que tengo es:
Warning: include_once(ofc-library/open_flash_chart_object.php) [function.include-once]: failed to open stream: No such file or directory in C:\xampp\htdocs\grafico_open\cgrafico.php on line 2
Si pueden ayudarme
Gracias

8 06 2011
Benjamin

Hola.

tengo el siguiente problema.

me erroja el siguiente error:

Fatal error: Class ‘graph’ not found in C:\appserv\apache2.2\htdocs\chart-data.php on line 31

reviso el chart-data.php y la linea 31 es la siguiente.

$g = new graph();

revise al php vinculado. /ofc-library/open-flash-chart.php

y no exixte el NEW GRAPH. porfavor que alguien me ayude me tiene enfermo esto ya.

gracias

8 06 2011
diego

Hola arturo…
Te comento que tengo un formulario donde cargo los datos para hacer una consulta a la BD y traer los datos de acuerdo al filtro realizado…
Como tendria que hacer para mandar directamente los datos del form a la grafica…

Saludos

Diego

22 07 2011
anahy

Hola Diego encontraste la solucion a tu problema?? xq yo tb quiero hacer lo mismo y no hallo manera de hacerlo, me generan los datos pero no me genera el grafico :(

10 06 2011
AlejandroCP

Estimado Arturo.

Una consulta, hay alguna manera de hacer más grande la gráfica que se genera, o es de tamaño fijo. Saludos desde Granada.

Alejandro.

11 06 2011
AlejandroCP

Estimado Arturo.

Encontré la solución. Gracias por escribir acerca de open flash chart. Saludos,

Alejandro.

13 06 2011
wilkis

Hola a todos muy buen el blog, estoy diseñando un sitio web y apenas empiezo a utilizar esta herramienta,pero pasa algo y esque, al momento de graficar el ejemplo me muestra la zona de graficas y cuandopaso el puntero dice que es undefined,segui todo los pasos pero no se que pasa???…te paso los codigo tal cual como los tengo, aver si me puedes ayudar.De antemano muchas gracias.

chart.php

generate-data.php
<?php
// generate some random data:
srand((double)microtime()*1000000);
$max = 50;
$data = array();
for( $i=0; $ititle( ‘Spoon sales’. date(“Y”), ‘{font-size: 26px;}’ );
$g->set_data( $data );
// label each point with its value
$g->set_x_labels( array(‘Jan’,’Feb’,’Mar’,’Apr’,’May’,’Jun’,’Jul’,’Aug’,’Sep’,’Oct’,’Nov’,’Dec’ ) );
// set the Y max
$g->set_y_max( 60 );
// label every 20 (0,20,40,60)
$g->y_label_steps( 6 );
// display the data
echo $g->render();
?>

///este fue el codigo que me genero al correr generate-data.php
chart-data.php
&title=Spoon+sales+2011,{font-size:26px;}&
&x_axis_steps=1&
&y_ticks=5,10,6&
&line=3,#87421F&
&values=22,2,45,36,24,10,46,5,15,32,10,7&
&x_labels=Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec&
&y_min=0&
&y_max=60&

NOTA:Agregue los”” al principio y al final y nada.si quieres mas detalles por avisame,quiero hacer esto para mas adelante agrgar datos de base de datos.

Gracias por la atencion. ;)

13 06 2011
wilkis

chart.php

29 08 2011
johhana

holaoy estoy haciendo el ejemplo de arriva pero al kerer probar el codigo m muestra este error k hay error en la libreria, el error es el siguiente.
Notice: Undefined variable: tmp in C:\wamp\www\OPEN\ofc-library\open-flash-chart.php on line 114

Notice: Undefined property: graph::$title_colour in C:\wamp\www\OPEN\ofc-library\open-flash-chart.php on line 116
&title=Spoon sales 2011,30,& &y_label_size=15& &y_ticks=5,10,6& &line=3,0x87421F& &values=6,15,33,45,24,20,22,47,22,43,10,25& &x_labels=Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec& &y_max=60&

31 10 2011
Gonza

Problemas al imprimir con windows.open() en Mozilla y Chrome, no aparecen los graficos y con IE funciona de 10. Hasta en la pagina oficial si le das Imprimir desde la barra de herramientas con esos navegadores no imprimie los graficos.

Desde ya muchas graciassssss y suerteeee!!!!!

4 11 2011
Steffani

hola quisiera que me ayudaran con u problema!! quiero mostrar mi grafico en un con xajax es para un proyecto y pues ya todo lo he trabajado con xajax! lo que hago es que creo una funcion donde le asigno al innerhtml del div el objeto flash pero no funciona no se si lo estare haciendo bien les dejo al funcion por aquí

registerFunction(“grafico”);
function grafico(){

$respuesta=new xajaxResponse();

$respuesta->assign(‘mostrar_busqueda’, ‘innerHTML’, open_flash_chart_object(500, 380, ‘grafico_actas2.php’,false,’ofc/’));
return $respuesta;

}

$xajax->processRequest();

Esta funcion la llamo en un boton con el evento onclick para al dar clic se genere la grafica !! pero no funciona si me prodrian ayudar con esto se los agradeceria :)

4 11 2011
Steffani

disculpen les coloco el codigo otra vez porque esta mal el anterior

require_once ‘ofc/php-ofc-library/open_flash_chart_object.php’;
require_once ‘xajax/xajax_core/xajax.inc.php’;

$xajax = new xajax();
$xajax->registerFunction(“grafico”);
function grafico(){

$respuesta=new xajaxResponse();

$respuesta->assign(‘mostrar_busqueda’, ‘innerHTML’, open_flash_chart_object(500, 380, ‘grafico_actas2.php’,false,’ofc/’));
return $respuesta;

}

$xajax->processRequest();

8 11 2011
Gonza

Hola, mira yo trabaje con Xajax de esta forma:

Dentro de una func xajax cualquiera puse :
//Variable de salida
$salidag .= ”.open_flash_chart_object_str ( 550 , 240 , ‘http://’. $_SERVER['SERVER_NAME'].’:85/graficos/ofc-library/barra3D.php’ , false , ‘../graficos/ofc-library/’).”;

$respuestag->assign(“graficos”,”innerHTML”,$salidag);

Obvie algunos pasos estandares de xajax que hay que poner.

Y anduvo de 10.
Y el grafico aparece dentro del div graficos creado en html.

Lo unico que me esta jodiendo es cuando quiero imprimir la pagina, uso windows.print con javascript pero en Mozilla y Chrome no aparecen los grficos en cambio en IE se visualiza bastante bien.

8 11 2011
Gonza

Problemas al imprimir con windows.open() en Mozilla y Chrome, no aparecen los graficos y con IE funciona de 10. Hasta en la pagina oficial si le das Imprimir desde la barra de herramientas con esos navegadores no imprimie los graficos.

Desde ya muchas graciassssss y suerteeeeeeeeeeeeeeeeeee!!!!!

9 11 2011
Steffani

Hola Gonza gracias lo que me dijiste me funciono a la perfeccion :) !! espero logres resolver el problema con el windows.print y windows.open() !!!! yo tambien necesito imprimir los graficos así que si encuentro la solucion te la dejare por este medio :)!! una vez mas gracias :)

10 11 2011
Gonza

Bueno me alegro que te haya funcionado, todavia estoy renegando con lo de la impresión.

Suertee!!

1 12 2011
Yermain

Hola necesito ayuda con un problema a la hora de graficar, el problema es que cuando me muestra la gráfica debería mostrarme las barras por separado según el producto con su la cantidad pero me las dibuja todas en el lugar del primer producto, aqui les dejo mi código para que lo vean y me digan que tengo mal. Agradecería mucho la ayuda es que soy nuevo trabajando con el OFC.

$result=$mysql->execute_querry(“SELECT `productos`.`sigla_producto` ,`ventas`.`id_producto`, COUNT(*) AS Cant
FROM `ventas`
LEFT JOIN `productos` ON `ventas`.`id_producto` = `productos`.`id_producto`
GROUP BY `ventas`.`id_producto`
“);

if($totales=mysql_num_rows($result)!=0)
{
$grafico= new graph();
$productos= array();
$num=0;
$objetos= array();
while($row=mysql_fetch_array($result))
{
$delitos[$num]=$row["sigla_producto"];
$key=$row["sigla_producto"];
$barra = new bar(100, random_color());
$barra->key($row["sigla_producto"],10);
$barra->data[]=$row["Cant"];
$objetos[$num]=$barra;
$grafico->data_sets[]=$objetos[$num];
$num++;
}
$grafico->title(‘Cantidad’,’{font-size:18px; color: #FFFFFF;margin: 5px;background-color: #333333;padding:5px;
padding-left: 20px; padding-right: 20px;}’);
$grafico->set_x_labels($productos);
$grafico->set_y_max(mysql_num_rows($result));
$grafico->y_label_steps(5);
$grafico->set_y_legend(‘Cantidad’, 16, ‘#736AFF’);
$grafico->set_x_legend(‘Productos’, 16, ‘#736AFF’);
echo $grafico->render();

}

19 12 2011
Juan David Lopez

Un libro se lee mejor con Sprite y el arte se disfruta más con su nuevo graffiti http://bit.ly/SGraffitiCentroMayor

3 08 2012
Juan Carlos

Ya he logrado hacer un grafico completamente dinamico y funciona correctamente, toma los datos de una bd a traves de una consulta y se grafican los resultados, pero ahora estoy tratando de incluir varios graficos en una sola pagina, de hecho necesito 4 graficos en una sola hoja php pero no he podido, pense que solo era copiar y pegar el codigo pero no es asi… alguien lo ha hecho???

18 12 2012
Felipe

Tengo el siguiente detalle: ya genere mi grafica de barras correctamente, la cual esta formada por 3 series de datos de tal manera que tengo 3 barras por cada uno de los puntos. Mi pregunta es como puedo hacer para que debajo de la gráfica pueda aparecer la tabla con los datos de cada una de las series que se están graficando. Es esto posible ? Saludos

4 01 2013
ipad3

Hi, i think that i saw you visited my website thus i came
to go back the choose?.I’m trying to in finding issues to enhance my web site!I guess its ok to make use of some of your ideas!!

4 01 2013
Juan

Hi, I’m not using Open Flash Chart anymore because we need to show these graphics in apple devices but Flash doesn’t work properly on Mac os X, so we needed to migrate to based java charts graphics. Thanks for asking anyway.

7 02 2013
Jessica

Que alguien me ayuuuuuude no me salen las leyendas ni nada en los ejes me sale un grafico que solo dice “Area Chart” en el eje vertical dile left 1, left 2 ., hasta llegar a 10, pero no me muestra el ejemplo .. :( no se que hacer soy nueva si alguien me da luces se lo agradeszco muchiiiiiiiiismo

1 06 2013
peterborough

When someone writes an piece of writing he/she retains
the thought of a user in his/her brain that how a user can be aware of it.
Therefore that’s why this article is perfect. Thanks!

26 06 2013
Charline

I have read so many articles regarding the blogger lovers however this article is genuinely a good post, keep it up.

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s




Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

%d personas les gusta esto: