Gráficas bonitas con Ruby en Ubuntu

Vamos a utilizar la librería Gruff Graphs de Ruby (Galería de ejemplos). Necesitaremos, evidentemente, el intérprete de Ruby, además de la librería RMagick, necesaria para correr Gruff, y gem, para poder instalar librerías para Ruby fácilmente.

sudo aptitude install ruby rubygems librmagick-ruby

Ahora utilizamos el comando gem para instalar gruff, contestando afirmativamente cuando el programa nos pregunte si queremos instalar las dependencias necesarias.

sudo gem install gruff

Ahora podemos escribir nuestro script en Ruby que cree una imagen con los datos que le indiquemos. Por ejemplo, para crear un gráfico de barras:

#!/usr/bin/ruby

require 'rubygems'
require 'gruff'

g = Gruff::Line.new
g.title = "Mi gráfica de prueba"

g.data("Java", [24, 25, 18])
g.data("C", [17.5, 17, 16.5])
g.data("PHP", [4, 3.5, 9.5])
g.data("Python", [1, 6.5, 2.5])

g.labels = {0 => '2003', 1 => '2004', 2 => '2005'}

g.write('prueba.png')

Ejecutamos el script:

ruby prueba.rb

Y este es el resultado:
Gráfica Ubuntu

Comentarios
  1. increible!

    muy bueno el aporte!

    Responder

  2. gons

    un detalle…

    solo en ubuntu? en debian tb funciona… y en cualquier distro…

    Responder

  3. En cualquier distro no, gons. Sólo en las que usen apt / aptitude.

    Se sobreentiende que si tienen los paquetes en sus repositorios o pueden usar los de los repositorios de Ubuntu también les servirá.

    Responder

    • Partiendo de la base que está hecho en Ruby debe de funcionar en cualquier distribución (e incluso en “Mundo Ventanuco” y MacOS) simplemente instalando convenientemente el lenguaje y las librerías indicadas, ¿no os parece? (cada uno que adapte la invocación a apt-get por lo que sea menester: yum & cia)

      Un saludo

      Responder

  4. elias

    deberian de poner codigos para hacer graficas simuladas con coordenadas en java

    Responder

  5. Joel

    Hola que tal, se miran excelentes las graficas.

    Me gustaria saber si a traves de un graficador como este (por medio de un script), es posible abrir un archivo que contiene bloques de datos x,y. Cada bloque representan una curva, a un tiempo distinto. La intencion es generar una pelicula de la evolucion de estas curvas.

    Responder

  6. karina

    muy buena grfica y demaciado interesante muy buen trabajo los felizito! 🙂

    post me

    Responder

  7. tabris

    instale todo pero bota error ;(

    Responder

Deja un comentario