Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
comp.lang.ruby
Looking for a charting library in Ruby...
Tom Copeland
10/3/2003 3:17:00 PM
...searching the RAA came up with ruby-gdchart:
http://raa.ruby-lang.org/list.rhtml?name=ru...
Is this what folks are using? I'm just looking to make some fairly
simple line charts to illustrate the effects of fuzzy logic membership
functions:
http://ai-app-prog.ruby...
Thanks,
tom
--
Tom Copeland <tom@infoether.com>
InfoEther
1 Answer
Rodrigo Bermejo
10/3/2003 6:34:00 PM
0
Hi Tom,
Tom Copeland wrote:
>...searching the RAA came up with ruby-gdchart:
>
>
http://raa.ruby-lang.org/list.rhtml?name=ru...
>
>Is this what folks are using?
>
I have been using it for a while and it has fit all my requirements.
I have created my own class to save some typing.(Attached).
Then you can do something like this:
require 'graph'
def graph_txt(txtfile,labelcolumn,datacolumn,delimeter=" ")
data=Array.new
labels=Array.new
File.new(txtfile).each do |lines|
lines.split("\n").each do |line|
data << line.split(delimeter)[datacolumn]
labels << line.split(delimeter)[labelcolumn]
end
end
data.map! {|x| x.to_i }
g=Graphs.new
options={
"title" => "Time",
"type" => "BAR3D",
"name" => "1",
"data"=> data,
"labels"=> labels,
"ytitle"=> "Y",
"xtitle"=> "X",
"dir" =>"/home/rbermejo",
"xlabel_spacing" => 0
}
g.create(options)
end
graph_txt("txtfile",0,1)
-rodrigo
-----------------
$ ls /usr/bin
ls
ruby
$
----------------
>
>
http://ai-app-prog.ruby...
>
>Thanks,
>
>tom
>
>
#!/usr/bin/ruby
class Graphs
require 'GDChart'
def initialize
@options=" "
self.default
end
def default
if File.exist?("graph_default.rb")
require 'graph_default'
else
@graph_default=Hash.new
@graph_default["bgcolor"] = 0x3a3a3a
@graph_default["numset"] = 1
@graph_default["bgimage"] = "/icons/graphbg.gif"
@graph_default["dir"] = "./"
@graph_default["file"] = "testing.png"
@graph_default["extcolor"] = [ 0xc6c0c0, 0x466387 ]
@graph_default["gridcolor"] = 0x466387
@graph_default["labels"] = [ ]
@graph_default["titlecolor"] = 0xc6c0c0
@graph_default["linecolor"] = 0xefe413
@graph_default["title"] = "graph"
@graph_default["xlabel_spacing"]= 0
@graph_default["xsize"] = 350
@graph_default["xtitle"] = ""
@graph_default["ysize"] = 350
@graph_default["ytitlecolor"] = 0xc6c0c0
@graph_default["xtitlecolor"] = 0xc6c0c0
@graph_default["ytitle"] = "y"
end
end
def setvalue(var)
if not @options.has_key?(var)
@options[var]=@graph_default[var]
end
return @options[var]
end
def create(options)
@options=options
@options.each {|k,v| eval " \@#{k}= v "}
begin
gdc = GDChart.new
#############
# TITLE #
#############
gdc.title_size = GDChart::MEDBOLD
gdc.title = setvalue("title")
gdc.ytitle = setvalue("ytitle")
gdc.xtitle = setvalue("xtitle")
gdc.TitleColor = setvalue("titlecolor")
gdc.YTitleColor = setvalue("ytitlecolor")
#############
# BODY #
#############
gdc.ExtColor = setvalue("extcolor")
gdc.LineColor = setvalue("linecolor")
gdc.BGImage = setvalue("bgimage")
gdc.BGColor = setvalue("bgcolor")
gdc.GridColor = setvalue("gridcolor")
gdc.xlabel_spacing = setvalue("xlabel_spacing")
gdc.bar_width = setvalue("bar_width")
gdc.border = setvalue("border")
gdc.ylabel_fmt= setvalue("ylabel_fmt")
#############
# FILE #
#############
@ysize=setvalue("ysize")
@xsize=setvalue("xsize")
@name=setvalue("name")
@dir=setvalue("dir")
@file=File.open "#{@dir}/#{@name}.png" , "w"
#############
# DATA #
#############
@numset=setvalue("numset")
############
# MAIN #
############
if @type =~ /pie/i then
eval " gdc.out_graph(\@ysize,\@xsize, \@file, GDChartPie::#{@type}, \@data.length, \@labels,\@numset, \@data) "
else
eval " gdc.out_graph(\@ysize,\@xsize, \@file, GDChart::#{@type}, \@data.length/@numset, \@labels,\@numset, \@data,\@data) "
end
rescue Exception => error
print "create error:#{error}\n"
end
end
end
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
Looking for a charting library in Ruby...
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password