Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 27 di 32
  • livello principiante
Indice lezioni

Google Chart

Rappresentare i dati con grafici generati direttamente da Google
Rappresentare i dati con grafici generati direttamente da Google
Link copiato negli appunti

Continiuiamo il viaggio nelle API di Google provando un servizio meno conosciuto di GMail ma molto utile: Google Chart.

Google Chart è un servizio che permette di creare dei grafici online. Il grande vantaggio è proprio quello di avere uno strumento molto potente senza dover installare nessun programma.

È possibile costruire diversi tipi di grafici, scegliere i colori degli elementi e dello sfondo, le dimensioni. Vediamo alcuni esempi rappresentativi iniziando da un semplice grafico a torta:

>> require 'rubygems'
=> true
>> require 'gchart'
=> true
>> chart = Gchart.pie(:data => [55, 40, 5])
=> "http://chart.apis.google.com/chart?chd=s:9sF&cht=p&chs=300x200"

Quello prodotto in output è un URL dove troveremo l'immagine del grafico appena creato.

Figura 1. Grafico a torta
Risultato dell'esempio: grafico a torta

Nell'esempio non abbiamo fatto altro che passare le quote da rappresentare sotto forma di array a Gchart.pie. Per dare la terza dimensione al nostro grafico basta utilizzare il metodo Gchart.pie_3d:

>> chart = Gchart.pie_3d(:data => [55, 40, 5])
=> "http://chart.apis.google.com/chart?chd=s:9sF&cht=p3&chs=300x200"
Figura 2. Grafico a torta 3D
Risultato dell'esempio: grafico a torta 3D

Rendiamo più completo il grafico aggiungendo un titolo e delle etichette per le quote passando a Gchart.pie_3d tutti gli attributi necessari:

>> Gchart.pie_3d( :title => 'Browser statistics', 
                  :data => [55, 40, 5], 
                  :labels => ["IE", "Firefox", "Altri"], 
                  :size => '500x300')                
=> "http://chart.apis.google.com/chart?chd=s:9sF&cht=p3&chtt=Browser+statistics&chs=500x300&chl=IE%7CFirefox%7CAltri"
Figura 3. Grafico a torta 3D con etichette
Risultato dell'esempio: grafico a torta 3D con etichette

Concludiamo osservando un grafico a linea completo:

>> Gchart.line( :title => "Language statistics", 
                :data => [[2.3, 1.8, 2.6, 2.8, 2.6], [3.3, 2.7, 2.6, 2.6, 2.6, 2.0]],
                :line_colors => ['ff0000', '0000ff'], 
                :legend => ["Ruby", "Delphi"], 
                :axis_with_labels => ['x'], 
                :axis_labels => ['Gen|Feb|Mar|Apr|Apr|Mag|Giu'])
=> "http://chart.apis.google.com/chart?chd=s:qhwzw,9xwwwk&chxt=x&cht=lc&chtt=Language+statistics&chco=ff0000,0000ff&chs=300x200&chxl=0:%7CGen%7CFeb%7CMar%7CApr%7CApr%7CMag%7CGiu&chdl=Ruby%7CDelphi"
Figura 4. Grafico a linea
Risultato dell'esempio: grafico a linea

In questo esempio abbiamo popolato il grafico utilizzando gli appositi attributi dai nomi autoesplicativi.

È possibile anche salvare il grafico su file utilizzando gli attributi :format e :filename

>> chart = Gchart.pie(:data => [55, 40, 5], :format => 'file', :filename => 'chart1.png')

In questo modo troveremo il file chart1.png nella directory di lavoro. Per un enenco completo dei tipi di grafici e degli attributi configurabili rimando alla documentazione della gemma e a quella delle API entrambe ricche di dettagli e di esempi.

Ti consigliamo anche