Charts mit Ruby
Hey there, Schon einmal von gruff gehört? Das ist eine praktische Library um schöne Charts mit Ruby zu bauen.
Installation
Der Name des Gem is gruff
also füge gem 'gruff'
deiner Gemfile hinzu und führe budle install
aus.
Use it
I werde aus Zählerdaten ein Liniendiagramm erzeugen. Die Daten dazu werden von DataMapper in einer Datenbank verwaltet. Die Tabellen sehen so aus:
Counter | Date |
---|---|
250 | 2014-06-01 |
200 | 2014-05-01 |
… | … |
require 'gruff'
def gen_graph(table,color,size)
label_index
g = Gruff:Line.new(size)
g.marker_font_size=15
g.theme = {
:colors => [color],
:maker_color => '#CCCCCC',
:font_color => 'Black',
:background_color => 'White'
}
g.title=table.to_s + " Counter"
data = []
table.all.each do |row|
data.push(row['counter'])
end
g.data table, data
system("mkdir -p public/graphs")
g.write("public/graphs/"+table.to_s.downcase+".png")
end
size=700
gen_graph(Water,"Blue",size)
gen_graph(Power,"Red",size)
gen_graph(Gas,"Yellow",size)