Lun Jul 24, 2006 1:41 pm
|
 |
purrutia
Perlero Nuevo

|
Registrado: 24 Jul 2006
Mensajes: 16
|
|
| Uso de gráficos |
|
|
He leido los tutoriales sobre gráficos de la página y de CPAN (los de GDGraph) y no he encontrado lo que solucione mi problema. Deseo crear un gráfico donde los datos del eje X no se encuentren equiespaciados, sino que los datos correspondan a puntos reales, es decir que el eje X sea numérico. He probado colocando x_tick_number => 'auto'. Pero no es una muy buena solución. Existe algun módulo que permita hacer gráficos con el eje X numérico?
Gracias |
|
|
|
Lun Jul 24, 2006 3:22 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4212
Ubicación: Valladolid, España
|
|
|
|
|
| ¿A qué te refieres con lo que no es muy buena solución? ¿Has probado a darle a x_tick_number un número igual al de datos en el eje X? |
|
Lun Jul 24, 2006 3:37 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4212
Ubicación: Valladolid, España
|
|
|
|
|
Según he podido ver en el código, el truco está en la rutina create_x_labels.
Lo de la opción 'auto' no la he visto por ningún lado... Hay una serie de controles con respecto a x_tick_number, pero todos ellos requieren de alguna manera haber inicializado antes x_min_value y x_max_value, x_max y x_min. Y se debe cumplir las dos siguientes condiciones: el número de puntos ha de ser superior a dos y no ha de coincidir x_max con x_min.
¿Puedes poner un ejemplo de los datos que quieres usar? |
|

Mar Jul 25, 2006 6:39 pm
|
 |
purrutia
Perlero Nuevo

|
Registrado: 24 Jul 2006
Mensajes: 16
|
|
|
|
|
quise probar con datos como por ejemplo:
y1=534, x1=3
y2=2354,x2=5
y3=2876,x3=7
y4=2978,x4=32
en realidad el valor de los y no me importa mucho, pero me importa que se aprecie que los primeros datos estaban comprimidos en los primeros x, y que el último dato es mucho más lejano, pero ma aparecian todos equiespaciados, quizá no lo estoy haciendo bien, la verdad es que recién empecé a probar con los gráficos, y no he logrado solucionar esto.
Agradecere cualquier ayuda
Saludos |
|

Mar Jul 25, 2006 8:10 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4212
Ubicación: Valladolid, España
|
|
|
|
|
Mira esto:
Lo he hecho con este código:
| Código: |
#!/usr/bin/perl
use GD::Graph::points;
@data = (
[ 3, 5, 7, 32, ],
[ 534, 2354, 2876, 2978, ],
);
my $graph = GD::Graph::points->new(400, 300);
$graph->set(
x_label => 'Valores X',
y_label => 'Valores Y',
title => 'Estadísticas',
x_min_value => 0,
x_max_value => 40,
y_min_value => 500,
y_max_value => 3000,
x_tick_number => 8,
y_tick_number => 8,
# y_plot_values => 0,
x_label_skip => 1,
y_label_skip => 1,
show_values => 1,
box_axis => 0,
markers => [4],
) or die $graph->error;
my $gd = $graph->plot(\@data) or die $graph->error;
open(IMG, '>file.png') or die $!;
binmode IMG;
print IMG $gd->png; |
Ultima edición por explorer el Mar Jul 25, 2006 8:44 pm, editado 1 vez |
|

Mar Jul 25, 2006 8:31 pm
|
 |
purrutia
Perlero Nuevo

|
Registrado: 24 Jul 2006
Mensajes: 16
|
|
|
|
|
Ah, si, queda muy bien...
Muchas gracias...
Por último, unas preguntas:
me puedes explicar que significan los parámetros _label_skip y tick_number... al parecer no entendí bien que significaban y ahi esta la clave de todo...
GRACIAS..... |
|
Mar Jul 25, 2006 8:42 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4212
Ubicación: Valladolid, España
|
|
|
|
|
Los label_skip quieren decir que cada cuantas etiquetas al lado de cada marca en los ejes debe pintarse. Si se pone a 1, quiere decir que tienen que pintar todos los valores.
Y tick_number, el número de marcas.
Lo que no he encontrado es la manera de pintar las marcas bajo exáctamente los valores, pero me parece que eso no es posible. |
|
Mar Jul 25, 2006 8:48 pm
|
 |
purrutia
Perlero Nuevo

|
Registrado: 24 Jul 2006
Mensajes: 16
|
|
|
|
|
MUCHAS GRACIAS........
Todo claro
Gracias de nuevo |
|
Mar Jul 25, 2006 9:20 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4212
Ubicación: Valladolid, España
|
|
|
|
Vie Jul 28, 2006 2:35 pm
|
 |
purrutia
Perlero Nuevo

|
Registrado: 24 Jul 2006
Mensajes: 16
|
|
|
|
|
WoW, te pasaste. Simpre me ha gustado programar, pero siempre encontraba la falencia que para poder hacer gráfico fácil tenia que guardar datos a un archivo y ocupar un programa como excel o matlab (u ocupar puramente matlab). Pero ahora que me diste estos datos, me pongo de cabeza a leer la documentación
Gracias de nuevo  |
|
Powered by phpBB © 2001, 2005 phpBB Group
|