ruby-plot 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README ADDED
@@ -0,0 +1,22 @@
1
+ README
2
+ svg_roc_plot.rb
3
+ Copyright 2010 vorgrimmler <dv(a_t)fdm.uni-freiburg.de>
4
+ This ruby program exports inputs data(from true-positive-rate and false-positive-rate files) to a *.svg file using gnuplot. Depending on the amount of input data is possible to create 1 to n curves in one plot.
5
+ Gnuplot is needed. Please install befor using svg_roc_plot. "sudo apt-get install gnuplot" (on debian systems)
6
+
7
+ Usage: ruby svg_roc_plot.rb ([filename_1] [filename_2]) ... ([filename_1] [filenam_2])
8
+ cmd=filename_1 : This should be the filename of the ture-positiv-rate data.
9
+ cmd=filename_2 : This should be the filename of the false-positiv-rate data.
10
+ Only pairs of input files are allowed but at least one.
11
+ Each input file has to provide one float number from 0 to 100 per line.
12
+
13
+
14
+ svg_roc_plot_method.rb
15
+ Copyright 2010 vorgrimmler <dv(a_t)fdm.uni-freiburg.de>
16
+ This ruby method (svg_roc_plot) exports inputs data(from true-positive-rate and false-positive-rate arrays) to a *.svg file using gnuplot. Depending on the amount of input data is possible to create 1 to n curves in one plot.
17
+ Gnuplot is needed. Please install befor using svg_roc_plot. "sudo apt-get install gnuplot" (on debian systems).
18
+
19
+ Usage: svg_roc_plot (svg_path(?), title(string), x-lable(string), y-lable(sting), algorithms(array), true_pos_data1(array), false_pos_data1(array), ..., true_pos_data_n(array), false_pos_data_n(array))
20
+ Only pairs of data are allowed but at least one.
21
+ Each data array has to provide one float/int number from 0 to 100 per entry.
22
+
@@ -0,0 +1,41 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+
4
+ begin
5
+ require 'jeweler'
6
+ Jeweler::Tasks.new do |gem|
7
+ gem.name = "ruby-plot"
8
+ gem.summary = %Q{gnuplot wrapper for ruby, especially for plotting roc curves into svg files}
9
+ gem.description = %Q{}
10
+ gem.email = "vorgrimmlerdavid@gmx.de"
11
+ gem.homepage = "http://github.com/davor/ruby-plot"
12
+ gem.authors = ["David Vorgrimmler", "Martin Gütlein"]
13
+ ['gnuplot'].each do |dep|
14
+ gem.add_dependency dep
15
+ end
16
+ gem.files = FileList["[A-Z]*", "{bin,generators,lib,test}/**/*"]
17
+ gem.files.include %w(lib/ruby-plot.rb)
18
+ # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
19
+ end
20
+ Jeweler::GemcutterTasks.new
21
+ rescue LoadError
22
+ puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
23
+ end
24
+
25
+ task :test => :check_dependencies
26
+
27
+ task :default => :test
28
+
29
+ require 'rake/rdoctask'
30
+ Rake::RDocTask.new do |rdoc|
31
+ if File.exist?('VERSION')
32
+ version = File.read('VERSION')
33
+ else
34
+ version = ""
35
+ end
36
+
37
+ rdoc.rdoc_dir = 'rdoc'
38
+ rdoc.title = "ruby-plot #{version}"
39
+ rdoc.rdoc_files.include('README*')
40
+ rdoc.rdoc_files.include('lib/**/*.rb')
41
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.0.2
@@ -0,0 +1,63 @@
1
+
2
+ module RubyPlot
3
+
4
+ def self.plot_bars(title = '', measures = [], algorithms = [], output_file = '')
5
+
6
+ #puts "'"+title+"',"+measures.inspect+","+algorithms.inspect+","
7
+
8
+ measures = measures.collect{|m| m.gsub(/_/,'-')}
9
+
10
+ Gnuplot.open do |gp|
11
+ Gnuplot::Plot.new( gp ) do |plot|
12
+ string = ''
13
+ (1..measures.length).collect.each do |i|
14
+ string += '"' + measures[i-1] + '" ' + i.to_s + ".00000 -1 "
15
+ end
16
+
17
+ plot.terminal 'svg size 800,600 dynamic enhanced fname "Arial" fsize 12 butt'
18
+ plot.output output_file
19
+ plot.bar '1.000000'
20
+ plot.boxwidth '0.9 absolute'
21
+ plot.style 'fill solid 1.00 border -1'
22
+ plot.style 'rectangle back fc lt -3 fillstyle solid 1.00 border -1'
23
+ #plot.key 'outside right top vertical Right noreverse enhanced autotitles columnhead nobox'
24
+ #plot.key "invert reverse Left outside"
25
+ plot.key "below"
26
+
27
+ plot.style 'histogram clustered gap 3 title offset character 0, 0, 0'
28
+ # plot.datafile 'missing "-"'
29
+ plot.style 'data histograms'
30
+ plot.xtics 'border in scale 1,0.5 nomirror offset character 0, 0, 0'
31
+ #plot.xtics 'norangelimit'
32
+ plot.xtics 'rotate'
33
+ #plot.xtics string
34
+ plot.title title
35
+ plot.rrange '[ * : * ] noreverse nowriteback # (currently [0.00000:10.0000])'
36
+ plot.trange '[ * : * ] noreverse nowriteback # (currently [-5.00000:5.00000])'
37
+ plot.urange '[ * : * ] noreverse nowriteback # (currently [-5.00000:5.00000])'
38
+ plot.vrange '[ * : * ] noreverse nowriteback # (currently [-5.00000:5.00000])'
39
+ # plot.ylabel 'offset character 0, 0, 0 font "" textcolor lt -1 rotate by 90'
40
+ # plot.y2label 'offset character 0, 0, 0 font "" textcolor lt -1 rotate by 90'
41
+ plot.yrange '[ 0.00000 : 1.00000 ] noreverse nowriteback' #
42
+ plot.cblabel 'offset character 0, 0, 0 font "" textcolor lt -1 rotate by 90'
43
+ plot.locale '"C"'
44
+
45
+
46
+
47
+ algorithms.each do |algorithm|
48
+ plot.data << Gnuplot::DataSet.new([ ["A"].concat(measures), algorithm ]) do |ds|
49
+ ds.using = "2:xtic(1) ti col"
50
+ end
51
+ end
52
+ end
53
+ end
54
+ LOGGER.info "plotted "+output_file.to_s
55
+ end
56
+
57
+ def self.test_plot_bars
58
+ x = ['ACC_with_very_long_name_consider_that', 'AUC', 'SPEC', 'SENS']
59
+ data = [['Alg1', 1.00, 1.00, 1.00, 1.00], ['Alg2', 0.75, 0.75, 0.75, 0.75], ['Alg3', 0.50, 0.50, 0.50, 0.50]]
60
+ plot_bars('Vergleich der Algorithmen', x, data, '/tmp/hist.svg')
61
+ end
62
+
63
+ end
@@ -0,0 +1,183 @@
1
+ #!/usr/bin/ruby1.8
2
+ # svg_roc_plot method - svg_roc_plot_method.rb
3
+ #
4
+ # Copyright 2010 vorgrimmler <dv(a_t)fdm.uni-freiburg.de>
5
+ # This ruby method (svg_roc_plot) exports input data(from true-positive-rate and false-positive-rate arrays) to a *.svg file using gnuplot. Depending on the amount of input data is possible to create 1 to n curves in one plot.
6
+ # Gnuplot is needed. Please install befor using svg_roc_plot. "sudo apt-get install gnuplot" (on debian systems).
7
+ # Usage: See below.
8
+
9
+ module RubyPlot
10
+
11
+ def self.plot_lines(svg_path, title, x_lable, y_lable, names, x_values, y_values, faint=nil)
12
+
13
+ #LOGGER.debug names.inspect
14
+ #LOGGER.debug x_values.inspect
15
+ #LOGGER.debug y_values.inspect
16
+
17
+ data = []
18
+ (0..x_values.size-1).each do |i|
19
+ data << y_values[i]
20
+ data << x_values[i]
21
+ end
22
+
23
+ #Main
24
+ STDOUT.sync = true
25
+ # -----------------------------------------------------
26
+ # checking input
27
+ # -----------------------------------------------------
28
+ # check parameters
29
+ status=false
30
+ LOGGER.debug "#{names.length} algs entered"
31
+
32
+ #LOGGER.debug names.inspect
33
+ #LOGGER.debug data.inspect
34
+
35
+ if names.length != data.length/2
36
+ status=true
37
+ end
38
+
39
+ if status
40
+ raise "Usage: svg_roc_plot (svg_path(?), title(string), x-lable(string), y-lable(sting), algorithms(array), true_pos_data1(array), false_pos_data1(array), ..., true_pos_data_n(array), false_pos_data_n(array))\n"+
41
+ " Only pairs of data are allowed but at least one.\n"+
42
+ " Each data array has to provide one float/int number from 0 to 100 per entry."
43
+ end
44
+
45
+ # gnuplot check
46
+ gnuplot=`which gnuplot | grep -o gnuplot`
47
+ if gnuplot == "gnuplot\n"
48
+ LOGGER.debug "Gnuplot is already installed."
49
+ else
50
+ raise "Please install gnuplot.\n"+
51
+ "sudo apt-get install gnuplot"
52
+ end
53
+
54
+ dat_number=0
55
+
56
+ output_dat_arr = Array.new
57
+
58
+
59
+ # -----------------------------------------------------
60
+ # create *.dat files of imported data for gnuplot
61
+ # -----------------------------------------------------
62
+ # write true/false arrays to one array
63
+ for i in 0..names.length-1#/2-1
64
+ true_pos_arr = data[i*2]
65
+ false_pos_arr = data[i*2+1]
66
+ #check length of input files
67
+ if true_pos_arr.length == false_pos_arr.length
68
+ #LOGGER.debug "Same length!"
69
+ for j in 0..true_pos_arr.length-1
70
+ #check if array entries are float format and between 0.0 and 100.0
71
+ if numeric?(true_pos_arr[j].to_s.tr(',', '.')) && true_pos_arr[j].to_s.tr(',', '.').to_f <= 100 && true_pos_arr[j].to_s.tr(',', '.').to_f >= 0
72
+ if numeric?(false_pos_arr[j].to_s.tr(',', '.')) && false_pos_arr[j].to_s.tr(',', '.').to_f <= 100 && false_pos_arr[j].to_s.tr(',', '.').to_f >= 0
73
+ output_dat_arr[j] = "#{true_pos_arr[j]} #{false_pos_arr[j]}"
74
+ else
75
+ raise "The data of #{names[i]} has not the right formatin at position #{j}\n"+
76
+ "The right format is one float/int from 0 to 100 each line (e.g. '0'; '23,34'; '65.87' or '99')"
77
+ end
78
+ else
79
+ raise "The data of #{names[i]} has not the right formatin at position #{j}+\n"
80
+ "The right format is one float/int from 0 to 100 each line (e.g. '0'; '23,34'; '65.87' or '99')"
81
+ end
82
+ end
83
+ #-----------------------------------------------------
84
+ #write *.dat files
85
+ #-----------------------------------------------------
86
+ #write output_dat_arr content in new *.dat file
87
+ File.open( "data#{i}.dat", "w" ) do |the_file|
88
+ the_file.puts output_dat_arr
89
+ end
90
+ LOGGER.debug "data#{i}.dat created."
91
+ output_dat_arr.clear
92
+
93
+ else
94
+ raise "Data pair of #{names[i]} have no the same number of elements."
95
+ end
96
+ end
97
+
98
+ # -----------------------------------------------------
99
+ # create *.plt file for gnuplot
100
+ # -----------------------------------------------------
101
+ #
102
+ output_plt_arr = Array.new
103
+ output_plt_arr.push "# Specifies encoding and output format"
104
+ output_plt_arr.push "set encoding default"
105
+ #output_plt_arr.push "set terminal svg"
106
+ output_plt_arr.push 'set terminal svg size 800,600 dynamic enhanced fname "Arial" fsize 12 butt'
107
+ output_plt_arr.push "set output '#{svg_path}'"
108
+ output_plt_arr.push ""
109
+ output_plt_arr.push "# Specifies the range of the axes and appearance"
110
+
111
+ output_plt_arr.push "set xrange [0:100]"
112
+ output_plt_arr.push "set yrange [0:100]"
113
+ output_plt_arr.push "set grid lw 0.5"
114
+ output_plt_arr.push "set title \"#{title}\""
115
+ output_plt_arr.push "set key below"
116
+ #output_plt_arr.push "set key invert reverse Left outside"
117
+ output_plt_arr.push "set xlabel \"#{x_lable}\""
118
+ output_plt_arr.push "set ylabel \"#{y_lable}\""
119
+ output_plt_arr.push "set arrow from 0,0 to 100,100 nohead"
120
+ output_plt_arr.push ""
121
+ output_plt_arr.push ""
122
+ output_plt_arr.push ""
123
+ output_plt_arr.push ""
124
+ output_plt_arr.push "# Draws the plot and specifies its appearance ..."
125
+ output_plt_arr.push "plot \\"#'random_0.dat' using 1:2 title 'random' with lines lw 1, \\"
126
+ i = 0
127
+ for i in 0..names.length-1
128
+
129
+ #style = grey[i] ? "lw 1.5 lt 0" : "lw 3"
130
+ style = faint!=nil && faint[i] ? "lw 2" : "lw 4"
131
+
132
+ if i == names.length-1
133
+ output_plt_arr.push " 'data#{i}.dat' using 2:1 title '#{names[i]}' with lines #{style}"
134
+ else
135
+ output_plt_arr.push " 'data#{i}.dat' using 2:1 title '#{names[i]}' with lines #{style}, \\"
136
+ end
137
+ end
138
+ output_plt_arr.push ""
139
+ output_plt_arr.push ""
140
+
141
+ # -----------------------------------------------------
142
+ # write *.plt files
143
+ # -----------------------------------------------------
144
+ # write output_dat_arr content in new *.dat file
145
+ File.open( "config.plt", "w" ) do |the_file|
146
+ the_file.puts output_plt_arr
147
+ end
148
+ LOGGER.debug "config.plt created, running gnuplot"
149
+
150
+ # start gnuplot with created *.plt file
151
+ cmd = "gnuplot config.plt 2>&1"
152
+ response = ""
153
+ IO.popen(cmd) do |f|
154
+ while line = f.gets
155
+ response += line
156
+ end
157
+ end
158
+ raise "gnuplot failes (cmd: "+cmd.to_s+", out: "+response.to_s+")" unless $?==0
159
+
160
+ LOGGER.debug "#{svg_path} created. "
161
+
162
+ # -----------------------------------------------------
163
+ # remove *.plt and *.dat files
164
+ # -----------------------------------------------------
165
+ `rm config.plt`
166
+ LOGGER.debug "config.plt removed."
167
+ for i in 0..names.length-1
168
+ `rm data#{i}.dat`
169
+ LOGGER.debug "data#{i}.dat removed."
170
+ end
171
+ end
172
+
173
+ def self.test_plot_lines
174
+ plot_lines("/tmp/result.svg" , "name of title", "x-values", "y-values", ["name", "test", "bla"], [[20,60,80], [10,25,70,95], [12,78,99]], [[15,50,90],[20,40,50,70],[34,89,89]],[true,false,true])
175
+ end
176
+
177
+ private
178
+ # float check
179
+ def self.numeric?(object)
180
+ true if Float(object) rescue false
181
+ end
182
+ end
183
+
@@ -0,0 +1,182 @@
1
+ #!/usr/bin/ruby1.8
2
+ # svg_roc_plot method - svg_roc_plot_method.rb
3
+ #
4
+ # Copyright 2010 vorgrimmler <dv(a_t)fdm.uni-freiburg.de>
5
+ # This ruby method (svg_roc_plot) exports input data(from true-positive-rate and false-positive-rate arrays) to a *.svg file using gnuplot. Depending on the amount of input data is possible to create 1 to n curves in one plot.
6
+ # Gnuplot is needed. Please install befor using svg_roc_plot. "sudo apt-get install gnuplot" (on debian systems).
7
+ # Usage: See below.
8
+
9
+ module RubyPlot
10
+
11
+ def self.plot_points(svg_path, title, x_lable, y_lable, names, x_values, y_values)
12
+
13
+ LOGGER.debug names.inspect
14
+ LOGGER.debug x_values.inspect
15
+ LOGGER.debug y_values.inspect
16
+
17
+ data = []
18
+ (0..x_values.size-1).each do |i|
19
+ data << y_values[i]
20
+ data << x_values[i]
21
+ end
22
+
23
+ #Main
24
+ STDOUT.sync = true
25
+ # -----------------------------------------------------
26
+ # checking input
27
+ # -----------------------------------------------------
28
+ # check parameters
29
+ status=false
30
+ LOGGER.debug "#{names.length} algs entered"
31
+
32
+ #LOGGER.debug names.inspect
33
+ #LOGGER.debug data.inspect
34
+
35
+ if names.length != data.length/2
36
+ status=true
37
+ end
38
+
39
+ if status
40
+ raise "Usage: svg_roc_plot (svg_path(?), title(string), x-lable(string), y-lable(sting), algorithms(array), true_pos_data1(array), false_pos_data1(array), ..., true_pos_data_n(array), false_pos_data_n(array))\n"+
41
+ " Only pairs of data are allowed but at least one.\n"+
42
+ " Each data array has to provide one float/int number from 0 to 100 per entry."
43
+ end
44
+
45
+ # gnuplot check
46
+ gnuplot=`which gnuplot | grep -o gnuplot`
47
+ if gnuplot == "gnuplot\n"
48
+ LOGGER.debug "Gnuplot is already installed."
49
+ else
50
+ raise "Please install gnuplot.\n"+
51
+ "sudo apt-get install gnuplot"
52
+ end
53
+
54
+ dat_number=0
55
+
56
+ output_dat_arr = Array.new
57
+
58
+
59
+ # -----------------------------------------------------
60
+ # create *.dat files of imported data for gnuplot
61
+ # -----------------------------------------------------
62
+ # write true/false arrays to one array
63
+ for i in 0..names.length-1#/2-1
64
+ true_pos_arr = data[i*2]
65
+ false_pos_arr = data[i*2+1]
66
+ #check length of input files
67
+ if true_pos_arr.length == false_pos_arr.length
68
+ #LOGGER.debug "Same length!"
69
+ for j in 0..true_pos_arr.length-1
70
+ #check if array entries are float format and between 0.0 and 100.0
71
+ #if numeric?(true_pos_arr[j].to_s.tr(',', '.')) && true_pos_arr[j].to_s.tr(',', '.').to_f <= 100 && true_pos_arr[j].to_s.tr(',', '.').to_f >= 0
72
+ # if numeric?(false_pos_arr[j].to_s.tr(',', '.')) && false_pos_arr[j].to_s.tr(',', '.').to_f <= 100 && false_pos_arr[j].to_s.tr(',', '.').to_f >= 0
73
+ output_dat_arr[j] = "#{true_pos_arr[j]} #{false_pos_arr[j]}"
74
+ # else
75
+ # raise "The data of #{names[i]} has not the right formatin at position #{j}\n"+
76
+ # "The right format is one float/int from 0 to 100 each line (e.g. '0'; '23,34'; '65.87' or '99')"
77
+ # end
78
+ #else
79
+ # raise "The data of #{names[i]} has not the right formatin at position #{j}+\n"
80
+ # "The right format is one float/int from 0 to 100 each line (e.g. '0'; '23,34'; '65.87' or '99')"
81
+ #end
82
+ end
83
+ #-----------------------------------------------------
84
+ #write *.dat files
85
+ #-----------------------------------------------------
86
+ #write output_dat_arr content in new *.dat file
87
+ File.open( "data#{i}.dat", "w" ) do |the_file|
88
+ the_file.puts output_dat_arr
89
+ end
90
+ LOGGER.debug "data#{i}.dat created."
91
+ output_dat_arr.clear
92
+
93
+ else
94
+ raise "Data pair of #{names[i]} have no the same number of elements."
95
+ end
96
+ end
97
+
98
+ # -----------------------------------------------------
99
+ # create *.plt file for gnuplot
100
+ # -----------------------------------------------------
101
+ #
102
+ output_plt_arr = Array.new
103
+ output_plt_arr.push "# Specifies encoding and output format"
104
+ output_plt_arr.push "set encoding default"
105
+ #output_plt_arr.push "set terminal svg"
106
+ output_plt_arr.push 'set terminal svg size 800,600 dynamic enhanced fname "Arial" fsize 12 butt'
107
+ output_plt_arr.push "set output '#{svg_path}'"
108
+ output_plt_arr.push ""
109
+ output_plt_arr.push "# Specifies the range of the axes and appearance"
110
+
111
+ #output_plt_arr.push "set xrange [0:100]"
112
+ #output_plt_arr.push "set yrange [0:100]"
113
+ output_plt_arr.push "set grid lw 0.5"
114
+ output_plt_arr.push "set title \"#{title}\""
115
+ output_plt_arr.push "set key below"
116
+ output_plt_arr.push "set xlabel \"#{x_lable}\""
117
+ output_plt_arr.push "set ylabel \"#{y_lable}\""
118
+ #output_plt_arr.push "set arrow to 1,1 nohead"
119
+ output_plt_arr.push ""
120
+ output_plt_arr.push ""
121
+ output_plt_arr.push ""
122
+ output_plt_arr.push ""
123
+ output_plt_arr.push "# Draws the plot and specifies its appearance ..."
124
+
125
+ output_plt_arr.push "plot \\"#'random_0.dat' using 1:2 title 'random' with lines lw 1, \\"
126
+ i = 0
127
+ for i in 0..names.length-1
128
+ if i == names.length-1
129
+ output_plt_arr.push " 'data#{i}.dat' using 2:1 title '#{names[i]}' with points"
130
+ else
131
+ output_plt_arr.push " 'data#{i}.dat' using 2:1 title '#{names[i]}' with points, \\"
132
+ end
133
+ end
134
+ output_plt_arr.push ""
135
+ output_plt_arr.push ""
136
+
137
+
138
+ #output_plt_arr << "plot f(x)"
139
+
140
+ # -----------------------------------------------------
141
+ # write *.plt files
142
+ # -----------------------------------------------------
143
+ # write output_dat_arr content in new *.dat file
144
+ File.open( "config.plt", "w" ) do |the_file|
145
+ the_file.puts output_plt_arr
146
+ end
147
+ LOGGER.debug "config.plt created, running gnuplot"
148
+
149
+ # start gnuplot with created *.plt file
150
+ cmd = "gnuplot config.plt 2>&1"
151
+ response = ""
152
+ IO.popen(cmd) do |f|
153
+ while line = f.gets
154
+ response += line
155
+ end
156
+ end
157
+ raise "gnuplot failes (cmd: "+cmd.to_s+", out: "+response.to_s+")" unless $?==0
158
+
159
+ LOGGER.debug "#{svg_path} created. "
160
+
161
+ # -----------------------------------------------------
162
+ # remove *.plt and *.dat files
163
+ # -----------------------------------------------------
164
+ `rm config.plt`
165
+ LOGGER.debug "config.plt removed."
166
+ for i in 0..names.length-1
167
+ `rm data#{i}.dat`
168
+ LOGGER.debug "data#{i}.dat removed."
169
+ end
170
+ end
171
+
172
+ def self.test_plot_points
173
+ plot_points("/tmp/result.svg" , "name of title", "x-values", "y-values", ["this-one-has-a-very-very-very-long-name", "test" ], [[0.20,0.60,0.80], [0.10,0.25,0.70,0.95]], [[0.15,0.50,0.90],[0.20,0.40,0.50,0.70]])
174
+ end
175
+
176
+ private
177
+ # float check
178
+ def self.numeric?(object)
179
+ true if Float(object) rescue false
180
+ end
181
+ end
182
+
@@ -0,0 +1,16 @@
1
+ require 'rubygems'
2
+ require 'logger'
3
+ require 'gnuplot'
4
+
5
+ unless(defined? LOGGER)
6
+ LOGGER = Logger.new(STDOUT)
7
+ LOGGER.datetime_format = "%Y-%m-%d %H:%M:%S "
8
+ end
9
+
10
+ require "plot_bars.rb"
11
+ require "plot_lines.rb"
12
+ require "plot_points.rb"
13
+
14
+ #RubyPlot::test_plot_lines
15
+ #RubyPlot::test_plot_bars
16
+ #RubyPlot::test_plot_points
metadata ADDED
@@ -0,0 +1,71 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ruby-plot
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ platform: ruby
6
+ authors:
7
+ - David Vorgrimmler
8
+ - "Martin G\xC3\xBCtlein"
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2010-06-07 00:00:00 +02:00
14
+ default_executable:
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: gnuplot
18
+ type: :runtime
19
+ version_requirement:
20
+ version_requirements: !ruby/object:Gem::Requirement
21
+ requirements:
22
+ - - ">="
23
+ - !ruby/object:Gem::Version
24
+ version: "0"
25
+ version:
26
+ description: ""
27
+ email: vorgrimmlerdavid@gmx.de
28
+ executables: []
29
+
30
+ extensions: []
31
+
32
+ extra_rdoc_files:
33
+ - README
34
+ files:
35
+ - README
36
+ - Rakefile
37
+ - VERSION
38
+ - lib/plot_bars.rb
39
+ - lib/plot_lines.rb
40
+ - lib/plot_points.rb
41
+ - lib/ruby-plot.rb
42
+ has_rdoc: true
43
+ homepage: http://github.com/davor/ruby-plot
44
+ licenses: []
45
+
46
+ post_install_message:
47
+ rdoc_options:
48
+ - --charset=UTF-8
49
+ require_paths:
50
+ - lib
51
+ required_ruby_version: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: "0"
56
+ version:
57
+ required_rubygems_version: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: "0"
62
+ version:
63
+ requirements: []
64
+
65
+ rubyforge_project:
66
+ rubygems_version: 1.3.5
67
+ signing_key:
68
+ specification_version: 3
69
+ summary: gnuplot wrapper for ruby, especially for plotting roc curves into svg files
70
+ test_files: []
71
+