Squid
Libreria Ruby open source per tracciare grafici in PDF
API Ruby gratuita che offre agli sviluppatori di software la possibilità di disegnare grafici in file PDF con solo un paio di righe di codice Ruby. Supporta diversi tipi di tipi di grafici, come linea, punto e altro.
Squid è una libreria Ruby open source che semplifica il lavoro degli sviluppatori aiutandoli a creare la propria applicazione per disegnare grafici in file PDF con solo un paio di righe di codice Ruby. La libreria è molto facile da usare e fornisce tutte le funzionalità di base per la creazione di grafici. Consente agli sviluppatori di disegnare una vista della trama o univoca di un sito Web, aggiungere nomi delle serie, inserire nomi delle categorie, regolare il bordo, impostare l'altezza, modificare le etichette e molto altro. La libreria supporta diversi tipi di grafici, come linea, punto e altro.
La libreria Squid consente agli sviluppatori di espandere Prawn fornendo un metodo per disegnare facilmente grafici in file PDF. Prawn è anche una libreria Ruby molto utile che supporta la generazione di documenti PDF e la sua gestione ma manca di componenti di alto livello per disegnare grafici. Squid aggiunge semplicemente un singolo metodo alla classe Document della libreria Prawn che può essere utilizzata dagli sviluppatori per tracciare un grafico all'interno di una pagina PDF. Puoi aggiungere dati tracciando un hash, con ogni chiave/valore che rappresenta una serie. La libreria è open source ed è disponibile come licenza MIT per uso pubblico.
Iniziare con i calamari
Puoi scaricare facilmente la libreria Squid e usarla. Il modo consigliato per l'installazione è utilizzare Rubygem. Si prega di utilizzare il seguente comando.
Installa Squid tramite RubyGems
gem install squid
Crea grafici in PDF usando Ruby
La libreria open source Ruby Squid consente agli sviluppatori di software di creare grafici all'interno di un documento PDF con un paio di righe di codice Ruby. La libreria semplifica la generazione di elementi grafici in un PDF utilizzando il <code>chart</code> metodo. Puoi facilmente fornire un hash contenente i dati della serie e tracciarlo utilizzando un codice one-liner. Puoi facilmente identificare il formato dei valori degli assi e aggiungere etichette per il grafico.
Generazione di file PDF con un grafico tramite Ruby
require 'squid'
Prawn::Document.generate 'web traffic.pdf' do
chart views: {2013 => 182, 2014 => 46, 2015 => 134}
end
Funzionalità di stampa grafica varie
La classe Plotter esegue il wrapping di un oggetto Prawn::Document per fornire un nuovo metodo utile per o plottare gli elementi del grafico. La libreria Squid ha incluso un set molto utile di funzionalità per la gestione di grafica e immagini all'interno delle applicazioni Ruby. La libreria supporta funzionalità come l'aggiunta di un bordo attorno ai grafici, il tracciamento di una linea di base nella parte inferiore del grafico, il disegno di un riquadro di delimitazione dell'altezza specificata, l'impostazione del formato dei valori degli assi, la personalizzazione dell'altezza dei grafici, la scrittura di etichette di valori sul grafico , aggiunge una legenda nell'angolo in alto a destra, aggiungendo il colore di sfondo, disegna una linea orizzontale e molto altro.
Creazione di un grafico di base con Squid tramite Ruby
# By default, chart
plots every category on the baseline.
filename = File.basename(__FILE__).gsub('.rb', '.pdf')
Prawn::ManualBuilder::Example.generate(filename) do
data = {views: {'Jan 1' => 12, 'Jan 2' => 13, 'Jan 3' => 21, 'Jan 4' => 42,
'Jan 5' => 32, 'Jan 6' => 45, 'Jan 7' => 62, 'Jan 8' => 22, 'Jan 9' => 31,
'Jan 10' => 11, 'Jan 11' => 40, 'Jan 12' => 6, 'Jan 13' => 9}}
chart data, every: 3
end
Crea un grafico a linee tramite Ruby
# You can use the :type
option to plot a line chart instead.
filename = File.basename(__FILE__).gsub('.rb', '.pdf')
Prawn::ManualBuilder::Example.generate(filename) do
data = {views: {'Jan 1' => 12, 'Jan 2' => 13, 'Jan 3' => 21, 'Jan 4' => 42,
'Jan 5' => 32, 'Jan 6' => 45, 'Jan 7' => 62, 'Jan 8' => 22, 'Jan 9' => 31,
'Jan 10' => 11, 'Jan 11' => 40, 'Jan 12' => 6, 'Jan 13' => 9}}
chart data, every: 3
end