Squid
Biblioteca Ruby de código abierto para trazar gráficos en PDF
API Ruby gratuita que brinda a los desarrolladores de software la capacidad de dibujar gráficos en archivos PDF con solo un par de líneas de código Ruby. Admite diferentes tipos de tipos de gráficos, como líneas, puntos y más.
Squid es una biblioteca Ruby de código abierto que facilita el trabajo de los desarrolladores al ayudarlos a crear su propia aplicación para dibujar gráficos en archivos PDF con solo un par de líneas de código Ruby. La biblioteca es muy fácil de usar y proporciona toda la funcionalidad básica para crear gráficos. Permite a los desarrolladores dibujar una vista de trama o un sitio web único, agregando nombres de series, insertando nombres de categorías, ajustando bordes, configurando alturas, editando etiquetas y mucho más. La biblioteca admite diferentes tipos de gráficos, como líneas, puntos y más.
La biblioteca Squid permite a los desarrolladores expandir Prawn proporcionando un método para dibujar gráficos fácilmente en archivos PDF. Prawn también es una biblioteca de Ruby muy útil que admite la generación de documentos PDF y su administración, pero carece de componentes de alto nivel para dibujar gráficos. Squid simplemente agrega un método único a la clase de documento de la biblioteca Prawn que los desarrolladores pueden usar para trazar un gráfico dentro de una página PDF. Puede agregar datos graficando como un hash, con cada clave/valor representando una serie. La biblioteca es de código abierto y está disponible como licencia MIT para uso público.
Comenzando con Calamar
Puede descargar fácilmente la biblioteca Squid y usarla. La forma recomendada para la instalación es usando Rubygem. Utilice el siguiente comando.
Instalar Squid a través de RubyGems
gem install squid
Crear gráficos en PDF usando Ruby
La biblioteca de código abierto Ruby Squid permite a los desarrolladores de software crear gráficos dentro de un documento PDF con un par de líneas de código Ruby. La biblioteca hace que sea muy fácil generar gráficos en un PDF usando el <code>chart</code> método. Puede proporcionar fácilmente un hash que contenga los datos de la serie y trazarlo usando un código de una sola línea. Puede identificar fácilmente el formato de los valores del eje y agregar etiquetas para el gráfico.
Generación de un archivo PDF con un gráfico a través de Ruby
require 'squid'
Prawn::Document.generate 'web traffic.pdf' do
chart views: {2013 => 182, 2014 => 46, 2015 => 134}
end
Función de representación gráfica miscelánea
La clase Plotter envuelve un objeto Prawn::Document para proporcionar un nuevo método útil para trazar elementos gráficos. La biblioteca Squid ha incluido un conjunto muy útil de funciones para manejar gráficos e imágenes dentro de las aplicaciones de Ruby. La biblioteca admite funciones como agregar un borde alrededor de los gráficos, trazar una línea de base en la parte inferior del gráfico, dibujar un cuadro delimitador de la altura dada, establecer el formato de los valores del eje, personalizar la altura de los gráficos, escribir etiquetas de valor en el gráfico , agrega una leyenda en la esquina superior derecha, agrega color de fondo, dibuja una línea horizontal y mucho más.
Crear un gráfico básico con Squid a través de 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
Crear gráfico de líneas a través de 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