Newsgroup: it.comp.lang.perl
Titolo: Libreria per creare grafici

Sto cercando una libreria che dati dei valori (letti da un file
esterno, ma questo e' ininfluente) crei dei grafici da inserire in
CGI.
Googlando ho trovato la GD:Graph, volevo sapere se era una buona
libreria o se ce ne erano di migliori.
Grazie
SteO153


GD::Graph č ottima ma, a seconda di quello che devi fare, potresti 
trovare piů adeguata questa:
http://search.cpan.org/dist/Chart-Strip/
http://search.cpan.org/src/JAW/Chart-Strip-1.05/eg/index.html
o questa:
http://search.cpan.org/dist/Chart-Clicker/
http://www.onemogin.com/clicker/examples
E c'č ancora dell'altro, sia dentro che fuori CPAN.
Ciao!

 E c'è ancora dell'altro, sia dentro che fuori CPAN.
Ultimissima scoperta nella ricerca perenne di moduli per la generazione 
di grafici: GD::3DBarGrapher
http://search.cpan.org/dist/GD-3DBarGrapher/
Esempio di grafico:
http://www.creationfactor.net/software.htm
Primissima impressione: non avendolo ancora provato, posso dire che i 
risultati sembrano belli, le funzionalità estese (genera anche l'image 
map HTML) ma, ora che guardo bene la documentazione, l'API è veramente 
del cazzo.
Da quello capisco esporta una sola funzione, la quale genera 
obbligatoriamente il file dell'immagine su disco e poi restituisce 
l'HTML per l'inclusione dell'immagine in una pagina.
Bah! :-(
Ciao,
Emanuele.

 o questa:
http://search.cpan.org/dist/Chart-Clicker/http://www.onemogin.com/clicker/examples
Quello che devo fare e' creare degli istogrammi per semplificare la
lettura di alcuni report sull'utilizzo di package di una suite, cioe'
quante volte e' stata utilizzata una determinata applicazione
nell'ultimo mese e anno, aggregando i dati per data (giorno e mese) e
sistema operativo.
Con GD::Graph ho visto che e' molto semplice, solo che ho un problema
(strano! :-) ). All'array di array @data invece che dei dati statici
vorrei passargli altri due vettori con i dati, in questo modo:
@data = (@os, @number);
dove tra @os e @number c'e' una corrispondenza biunivoca
SistemaOperativo <-> Hit.
Solo che quando provo a creare il grafico mi ritorna un errore che
dice che i termini passati a @data sono invalidi.
@os e @number sono creati nel seguente modo:
my %statdata = ();
my @os = ();
my @number = ();
my $file = "stat.txt";
open (STAT, "< $file");
foreach my $line (<STAT>) {
	chomp $line;
	($statdata{'package'}, $statdata{'pkgver'}, $statdata{'os'},
$statdata{'number'}) = ($line =~ /^(\S+) (\S+) (\S+) (\d+)/);
	if ($statdata{'package'} eq $in{'package'} && $statdata{'pkgver'} eq
$in{'pkgver'}) {
		push @os, $statdata{'os'};
		push @number, $statdata{'number'};
	}
}
Ho provato anche ad inserire $statdata{'os'} tra doppi apici e
convertire $statdata{'number'} in intero, ma ho sempre lo stesso
errore.
Ho stampato gli array @os e @number e i dati che vengono inseriti sono
corretti.
Dove sbaglio?
Grazie
SteO153

@data = (@os, @number);
Cosě GLI stai passando UNA lista, lo sai, vero?
Non ho idea di chi sia GLI e di che cosa si aspetti, ma se vuole due cose č
difficile che funzioni bene con una.
Ciao.

 Così GLI stai passando UNA lista, lo sai, vero?
E' vero!
Ho corretto in questo modo, ed ora funziona:
@data = ([@os], [@number]);
SteO153

 @data = (@os, @number);
Come ha già detto Giovanni, in questo modo gli array @os e @number 
vengono /appiattiti/ in un'unica lista, mentre @data deve essere un 
array di list reference con almeno 2 elementi (serie).
Quindi deve essere:
@data = ( \@os, \@number );
o, se preferisci:
@data = \( @os, @number );
sfruttando la proprietà distributiva dell'operatore "\" sulle liste.
Riferimenti:
http://perldoc.perl.org/perldsc.html
Ciao,
Emanuele.

 E c'è ancora dell'altro, sia dentro che fuori CPAN.
Gia` ad esempio uno che genera IIRC grafici in formato 
SWF (o era SVG?) graficamente molto bellini.
S.
-- 
Stefano Rodighiero      |  
http://larsen.perlmonk.org
mailto:
lar...@perl.it
   |  Italian Perl Mongers: 
http://www.perl.it

 SWF (o era SVG?) graficamente molto bellini.
Dicevi questo?
http://teethgrinder.co.uk/open-flash-chart/
(E questa è l'interfaccia Perl)
http://search.cpan.org/dist/Chart-OFC/
Se intendevi altro, fa' uno sforzo di memoria che me l'agglomero subito 
tra i miei bookmark 
del.icio.us
 ;-)
Ciao,
Emanuele.

 
http://teethgrinder.co.uk/open-flash-chart/
Mi sembra di sě. Mi sposto dove sono in condizioni 
migliori e cerco di confermare il riferimento.
