ruby-plot 0.5.0 → 0.6.0
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/VERSION +1 -1
- data/lib/plot_bars.rb +3 -2
- data/lib/plot_box.rb +113 -0
- data/lib/plot_lines.rb +17 -23
- data/lib/plot_points.rb +71 -45
- data/lib/ruby-plot.rb +3 -0
- metadata +5 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.6.0
|
data/lib/plot_bars.rb
CHANGED
@@ -6,6 +6,7 @@ module RubyPlot
|
|
6
6
|
#puts "'"+title+"',"+measures.inspect+","+algorithms.inspect+","
|
7
7
|
|
8
8
|
measures = measures.collect{|m| m.gsub(/_/,'-')}
|
9
|
+
algorithms = algorithms.each{|m| m[0].gsub!(/_/,'-')}
|
9
10
|
|
10
11
|
Gnuplot.open do |gp|
|
11
12
|
Gnuplot::Plot.new( gp ) do |plot|
|
@@ -63,11 +64,11 @@ module RubyPlot
|
|
63
64
|
|
64
65
|
def self.test_plot_bars
|
65
66
|
x = ['ACC_with_very_long_name_consider_that', 'AUC', 'SPEC', 'SENS']
|
66
|
-
data = [['
|
67
|
+
data = [['Baller_Algorithm_1', 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]]
|
67
68
|
plot_bars('Vergleich der Algorithmen', x, data, '/tmp/hist.svg')
|
68
69
|
|
69
70
|
x = ['ACC_with_very_long_name_consider_that', 'AUC', 'SPEC', 'SENS']
|
70
|
-
data = [['
|
71
|
+
data = [['Baller_Algorithm_1', 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]]
|
71
72
|
plot_bars('Vergleich der Algorithmen', x, data, '/tmp/hist.png')
|
72
73
|
end
|
73
74
|
|
data/lib/plot_box.rb
ADDED
@@ -0,0 +1,113 @@
|
|
1
|
+
require "tempfile"
|
2
|
+
|
3
|
+
module RubyPlot
|
4
|
+
|
5
|
+
def self.box_plot(path, title, y_lable, names, values)
|
6
|
+
|
7
|
+
LOGGER.debug "plot box -- names "+names.inspect
|
8
|
+
LOGGER.debug "plot box -- values "+values.inspect
|
9
|
+
|
10
|
+
# STDOUT.sync = true
|
11
|
+
raise if names.length != values.length
|
12
|
+
gnuplot = '/home/martin/software/gnuplot-dev/install/bin/gnuplot'
|
13
|
+
|
14
|
+
tmp_datasets = []
|
15
|
+
tmp_file = Tempfile.new("data.dat")
|
16
|
+
tmp_datasets << tmp_file
|
17
|
+
value_string = []
|
18
|
+
values.first.size.times do |i|
|
19
|
+
v = ""
|
20
|
+
values.each do |val|
|
21
|
+
v += val[i].to_s+" "
|
22
|
+
end
|
23
|
+
value_string << v.to_s
|
24
|
+
end
|
25
|
+
#puts value_string.join("\n")
|
26
|
+
|
27
|
+
tmp_file.puts value_string.join("\n")
|
28
|
+
tmp_file.close
|
29
|
+
LOGGER.debug "plot box -- dataset "+tmp_datasets.collect{|d| d.path}.inspect
|
30
|
+
|
31
|
+
#"name1" 1, "name2" 2, "name3" 3 ...
|
32
|
+
xtics_string = ""
|
33
|
+
names.size.times do |i|
|
34
|
+
xtics_string += "\""+names[i].to_s+"\" "+(i+1).to_s
|
35
|
+
xtics_string += ", " if i<names.size-1
|
36
|
+
end
|
37
|
+
#puts xtics_string
|
38
|
+
|
39
|
+
#plot '#{tmp_file.path}' using (1):1, '' using (2):2, '' using (3):3 ...
|
40
|
+
plot_string = "plot '#{tmp_file.path}' using (1):1"
|
41
|
+
if names.size>1
|
42
|
+
plot_string += ","
|
43
|
+
names.size.times do |i|
|
44
|
+
if i>0
|
45
|
+
plot_string += " '' using (#{i+1}):#{i+1}"
|
46
|
+
plot_string += "," if i<names.size-1
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
#puts plot_string
|
51
|
+
#exit
|
52
|
+
|
53
|
+
plt = <<EOF
|
54
|
+
set terminal svg
|
55
|
+
set output '#{path}'
|
56
|
+
set border 2 front linetype -1 linewidth 1.000
|
57
|
+
set boxwidth 0.75 absolute
|
58
|
+
set style fill solid 0.25 border lt -1
|
59
|
+
unset key
|
60
|
+
set pointsize 0.5
|
61
|
+
set style data boxplot
|
62
|
+
set xtics border in scale 0,0 nomirror rotate offset character 0, 0, 0
|
63
|
+
set xtics norangelimit
|
64
|
+
set xtics (#{xtics_string})
|
65
|
+
set ytics border in scale 1,0.5 nomirror norotate offset character 0, 0, 0
|
66
|
+
#set yrange [ 0.00000 : 100.000 ] noreverse nowriteback
|
67
|
+
#plot '#{tmp_file.path}' using (1):1, '' using (2):2, '' using (3):3
|
68
|
+
EOF
|
69
|
+
|
70
|
+
plt += plot_string
|
71
|
+
#puts plt
|
72
|
+
#exit
|
73
|
+
|
74
|
+
tmp_file = Tempfile.new("config.plt")
|
75
|
+
tmp_datasets << tmp_file
|
76
|
+
tmp_file.puts plt
|
77
|
+
tmp_file.close
|
78
|
+
|
79
|
+
# start gnuplot with created *.plt file
|
80
|
+
cmd = gnuplot+" "+tmp_file.path+" 2>&1"
|
81
|
+
LOGGER.debug "plot box -- running gnuplot '"+cmd+"'"
|
82
|
+
response = ""
|
83
|
+
IO.popen(cmd) do |f|
|
84
|
+
while line = f.gets
|
85
|
+
response += line
|
86
|
+
end
|
87
|
+
end
|
88
|
+
raise "gnuplot failes (cmd: "+cmd.to_s+", out: "+response.to_s+")" unless $?==0
|
89
|
+
LOGGER.info "plot box -- RESULT: #{path}"
|
90
|
+
|
91
|
+
tmp_datasets.each{|f| f.delete}
|
92
|
+
end
|
93
|
+
|
94
|
+
def self.test_plot_box
|
95
|
+
# regression_point_plot("/tmp/regression.png" , "name of title", "x-values", "y-values", ["this-one-has-a-very-very-very-long-name", "test" ],
|
96
|
+
# [[0.20,0.60,0.80,0.20,1.0,0.001], [0.10,0.25,0.70,0.95,0.2,0.3434]],
|
97
|
+
# [[0.15,0.50,0.90,0.2,9,0.5],[0.20,0.40,0.50,0.70,0.3,0.234589]])
|
98
|
+
# accuracy_confidence_plot("/tmp/accuracy-conf.png" , "name of title", "x-values", "y-values", ["test" ],
|
99
|
+
# [[0.9,0.5,0.3,0.1]],
|
100
|
+
# [[100,90,70,30]])
|
101
|
+
x=[]; y=[]; z=[]; zz=[]
|
102
|
+
30.times do
|
103
|
+
x << 5 + rand * 4 * (rand<0.5 ? 1 : -1)
|
104
|
+
y << 5 + rand * 5 * (rand<0.5 ? 1 : -1)
|
105
|
+
z << 5 + rand * 6 * (rand<0.5 ? 1 : -1)
|
106
|
+
zz << 5 + rand * 5 * (rand<0.5 ? 1 : -1)
|
107
|
+
end
|
108
|
+
|
109
|
+
box_plot("/tmp/test-plot.svg" , "name of title", "values", ["x","y","z","zz"], [x,y,z,zz])
|
110
|
+
end
|
111
|
+
|
112
|
+
end
|
113
|
+
|
data/lib/plot_lines.rb
CHANGED
@@ -23,14 +23,13 @@ module RubyPlot
|
|
23
23
|
|
24
24
|
# gnuplot check
|
25
25
|
gnuplot=`which gnuplot | grep -o gnuplot`
|
26
|
-
if gnuplot
|
27
|
-
LOGGER.debug "Gnuplot is already installed."
|
28
|
-
else
|
26
|
+
if gnuplot!="gnuplot\n"
|
29
27
|
raise "Please install gnuplot.\n"+
|
30
28
|
"sudo apt-get install gnuplot"
|
31
29
|
end
|
32
30
|
|
33
31
|
output_dat_arr = Array.new
|
32
|
+
tmp_datasets = []
|
34
33
|
|
35
34
|
# -----------------------------------------------------
|
36
35
|
# create *.dat files of imported data for gnuplot
|
@@ -63,16 +62,16 @@ module RubyPlot
|
|
63
62
|
#write *.dat files
|
64
63
|
#-----------------------------------------------------
|
65
64
|
#write output_dat_arr content in new *.dat file
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
65
|
+
tmp_file = Tempfile.new("data#{i}.dat")
|
66
|
+
tmp_datasets << tmp_file
|
67
|
+
tmp_file.puts output_dat_arr
|
68
|
+
tmp_file.close
|
70
69
|
output_dat_arr.clear
|
71
|
-
|
72
70
|
else
|
73
71
|
raise "num x-values != y-values: "+plot_data[i].inspect
|
74
72
|
end
|
75
73
|
end
|
74
|
+
LOGGER.debug "plot lines -- datasets "+tmp_datasets.collect{|d| d.path}.inspect
|
76
75
|
|
77
76
|
# -----------------------------------------------------
|
78
77
|
# create *.plt file for gnuplot
|
@@ -135,9 +134,9 @@ module RubyPlot
|
|
135
134
|
style = plot_data[i].faint ? "lw 2" : "lw 4"
|
136
135
|
|
137
136
|
if i == plot_data.length-1
|
138
|
-
output_plt_arr.push " '
|
137
|
+
output_plt_arr.push " '"+tmp_datasets[i].path+"' using 2:1 title '#{plot_data[i].name}' with lines #{style}"
|
139
138
|
else
|
140
|
-
output_plt_arr.push " '
|
139
|
+
output_plt_arr.push " '"+tmp_datasets[i].path+"' using 2:1 title '#{plot_data[i].name}' with lines #{style}, \\"
|
141
140
|
end
|
142
141
|
end
|
143
142
|
output_plt_arr.push ""
|
@@ -147,13 +146,14 @@ module RubyPlot
|
|
147
146
|
# write *.plt files
|
148
147
|
# -----------------------------------------------------
|
149
148
|
# write output_dat_arr content in new *.dat file
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
149
|
+
tmp_file = Tempfile.new("config.plt")
|
150
|
+
tmp_datasets << tmp_file
|
151
|
+
tmp_file.puts output_plt_arr
|
152
|
+
tmp_file.close
|
154
153
|
|
155
154
|
# start gnuplot with created *.plt file
|
156
|
-
cmd = "gnuplot
|
155
|
+
cmd = "gnuplot "+tmp_file.path+" 2>&1"
|
156
|
+
LOGGER.debug "plot lines -- running gnuplot '"+cmd+"'"
|
157
157
|
response = ""
|
158
158
|
IO.popen(cmd) do |f|
|
159
159
|
while line = f.gets
|
@@ -161,18 +161,12 @@ module RubyPlot
|
|
161
161
|
end
|
162
162
|
end
|
163
163
|
raise "gnuplot failes (cmd: "+cmd.to_s+", out: "+response.to_s+")" unless $?==0
|
164
|
-
|
165
|
-
LOGGER.debug "#{path} created. "
|
164
|
+
LOGGER.info "plot lines -- RESULT: #{path}"
|
166
165
|
|
167
166
|
# -----------------------------------------------------
|
168
167
|
# remove *.plt and *.dat files
|
169
168
|
# -----------------------------------------------------
|
170
|
-
|
171
|
-
LOGGER.debug "config.plt removed."
|
172
|
-
for i in 0..plot_data.length-1
|
173
|
-
`rm data#{i}.dat`
|
174
|
-
LOGGER.debug "data#{i}.dat removed."
|
175
|
-
end
|
169
|
+
tmp_datasets.each{|f| f.delete}
|
176
170
|
end
|
177
171
|
|
178
172
|
def self.test_plot_lines
|
data/lib/plot_points.rb
CHANGED
@@ -10,6 +10,10 @@ module RubyPlot
|
|
10
10
|
|
11
11
|
def self.regression_point_plot(path, title, x_lable, y_lable, names, x_values, y_values, log=true) #, quadratic_scale=true, line_points=false, reverse_x=false)
|
12
12
|
|
13
|
+
LOGGER.debug "plot regr -- names "+names.inspect
|
14
|
+
LOGGER.debug "plot regr -- x "+x_values.inspect
|
15
|
+
LOGGER.debug "plot regr -- y "+y_values.inspect
|
16
|
+
|
13
17
|
min = Float::MAX
|
14
18
|
max = -Float::MAX
|
15
19
|
(0..x_values.size-1).each do |i|
|
@@ -40,7 +44,11 @@ module RubyPlot
|
|
40
44
|
plot_points(path, title, x_lable, y_lable, names, x_values, y_values, log, x_range, y_range, true, true, false, false, false)
|
41
45
|
end
|
42
46
|
|
43
|
-
def self.
|
47
|
+
def self.confidence_plot(path, title, x_lable, y_lable, names, x_values, y_values, y_range=nil)
|
48
|
+
|
49
|
+
LOGGER.debug "plot conf -- names "+names.inspect
|
50
|
+
LOGGER.debug "plot conf -- x "+x_values.inspect
|
51
|
+
LOGGER.debug "plot conf -- y "+y_values.inspect
|
44
52
|
|
45
53
|
min = Float::MAX
|
46
54
|
max = -Float::MAX
|
@@ -51,18 +59,24 @@ module RubyPlot
|
|
51
59
|
border = (max-min)*0.1
|
52
60
|
min_border = min-border
|
53
61
|
max_border = max+border
|
54
|
-
|
55
|
-
|
56
|
-
|
62
|
+
|
63
|
+
if (y_range==nil) # use own computed range only if not explicitly definded...
|
64
|
+
y_range = min==max ? nil : [min_border, max_border]
|
65
|
+
elsif (y_range[0] > max_border ) #.. or if values out of scope
|
66
|
+
y_range[0] = min_border
|
67
|
+
elsif (y_range[1] < min_border )
|
68
|
+
y_range[1] = max_border
|
69
|
+
end
|
70
|
+
plot_points(path, title, x_lable, y_lable, names, x_values, y_values, false, nil, y_range, false, false, true, true, false)
|
57
71
|
end
|
58
72
|
|
59
73
|
def self.plot_points(path, title, x_lable, y_lable, names, x_values, y_values,
|
60
74
|
log=true, x_range=nil, y_range=nil, quadratic_scale=true, draw_diagonale=true, line_points=false, reverse_x=false, reverse_y=false)
|
61
75
|
|
62
|
-
LOGGER.debug "
|
63
|
-
LOGGER.debug "
|
64
|
-
LOGGER.debug "
|
65
|
-
LOGGER.debug "
|
76
|
+
LOGGER.debug "plot points -- names "+names.inspect
|
77
|
+
LOGGER.debug "plot points -- x "+x_values.inspect
|
78
|
+
LOGGER.debug "plot points -- y "+y_values.inspect
|
79
|
+
LOGGER.debug "plot points -- y_range "+y_range.inspect
|
66
80
|
|
67
81
|
data = []
|
68
82
|
(0..x_values.size-1).each do |i|
|
@@ -77,7 +91,7 @@ module RubyPlot
|
|
77
91
|
# -----------------------------------------------------
|
78
92
|
# check parameters
|
79
93
|
status=false
|
80
|
-
LOGGER.debug "#{names.length} algs entered"
|
94
|
+
#LOGGER.debug "#{names.length} algs entered"
|
81
95
|
|
82
96
|
#LOGGER.debug names.inspect
|
83
97
|
#LOGGER.debug data.inspect
|
@@ -94,17 +108,12 @@ module RubyPlot
|
|
94
108
|
|
95
109
|
# gnuplot check
|
96
110
|
gnuplot=`which gnuplot | grep -o gnuplot`
|
97
|
-
if gnuplot
|
98
|
-
LOGGER.debug "Gnuplot is already installed."
|
99
|
-
else
|
111
|
+
if gnuplot != "gnuplot\n"
|
100
112
|
raise "Please install gnuplot.\n"+
|
101
113
|
"sudo apt-get install gnuplot"
|
102
114
|
end
|
103
|
-
|
104
|
-
dat_number=0
|
105
|
-
|
106
115
|
output_dat_arr = Array.new
|
107
|
-
|
116
|
+
tmp_datasets = []
|
108
117
|
|
109
118
|
# -----------------------------------------------------
|
110
119
|
# create *.dat files of imported data for gnuplot
|
@@ -134,16 +143,17 @@ module RubyPlot
|
|
134
143
|
#write *.dat files
|
135
144
|
#-----------------------------------------------------
|
136
145
|
#write output_dat_arr content in new *.dat file
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
146
|
+
|
147
|
+
tmp_file = Tempfile.new("data#{i}.dat")
|
148
|
+
tmp_datasets << tmp_file
|
149
|
+
tmp_file.puts output_dat_arr
|
150
|
+
tmp_file.close
|
141
151
|
output_dat_arr.clear
|
142
|
-
|
143
152
|
else
|
144
153
|
raise "Data pair of #{names[i]} have no the same number of elements."
|
145
154
|
end
|
146
155
|
end
|
156
|
+
LOGGER.debug "plot points -- datasets "+tmp_datasets.collect{|d| d.path}.inspect
|
147
157
|
|
148
158
|
# -----------------------------------------------------
|
149
159
|
# create *.plt file for gnuplot
|
@@ -203,28 +213,38 @@ module RubyPlot
|
|
203
213
|
i = 0
|
204
214
|
for i in 0..names.length-1
|
205
215
|
if i == names.length-1
|
206
|
-
output_plt_arr.push " '
|
216
|
+
output_plt_arr.push " '"+tmp_datasets[i].path+"' using 2:1 title '#{names[i]}' with "+style.to_s
|
207
217
|
else
|
208
|
-
output_plt_arr.push " '
|
218
|
+
output_plt_arr.push " '"+tmp_datasets[i].path+"' using 2:1 title '#{names[i]}' with "+style.to_s+", \\"
|
209
219
|
end
|
220
|
+
|
221
|
+
#output_plt_arr.push " '"+tmp_datasets[i].path+"' using 2:1 title '#{names[i]}' with "+style.to_s
|
222
|
+
#output_plt_arr[-1] = output_plt_arr[-1]+", \\" if names.size==1 or i<names.length-1
|
223
|
+
#
|
224
|
+
#if names.size==1
|
225
|
+
# output_plt_arr.push " '"+tmp_datasets[i].path+"' using 2:1 smooth bezier notitle with lines"
|
226
|
+
# output_plt_arr[-1] = output_plt_arr[-1]+", \\" if i<names.length-1
|
227
|
+
#end
|
210
228
|
end
|
211
229
|
output_plt_arr.push ""
|
212
230
|
output_plt_arr.push ""
|
213
|
-
|
214
|
-
|
231
|
+
|
232
|
+
#puts output_plt_arr.join("\n")
|
233
|
+
|
215
234
|
#output_plt_arr << "plot f(x)"
|
216
235
|
|
217
236
|
# -----------------------------------------------------
|
218
237
|
# write *.plt files
|
219
238
|
# -----------------------------------------------------
|
220
239
|
# write output_dat_arr content in new *.dat file
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
240
|
+
tmp_file = Tempfile.new("config.plt")
|
241
|
+
tmp_datasets << tmp_file
|
242
|
+
tmp_file.puts output_plt_arr
|
243
|
+
tmp_file.close
|
225
244
|
|
226
245
|
# start gnuplot with created *.plt file
|
227
|
-
cmd = "gnuplot
|
246
|
+
cmd = "gnuplot "+tmp_file.path+" 2>&1"
|
247
|
+
LOGGER.debug "plot points -- running gnuplot '"+cmd+"'"
|
228
248
|
response = ""
|
229
249
|
IO.popen(cmd) do |f|
|
230
250
|
while line = f.gets
|
@@ -232,28 +252,34 @@ module RubyPlot
|
|
232
252
|
end
|
233
253
|
end
|
234
254
|
raise "gnuplot failes (cmd: "+cmd.to_s+", out: "+response.to_s+")" unless $?==0
|
235
|
-
|
236
|
-
LOGGER.debug "#{path} created. "
|
255
|
+
LOGGER.info "plot points -- RESULT: #{path}"
|
237
256
|
|
238
257
|
# -----------------------------------------------------
|
239
258
|
# remove *.plt and *.dat files
|
240
259
|
# -----------------------------------------------------
|
241
|
-
|
242
|
-
LOGGER.debug "config.plt removed."
|
243
|
-
for i in 0..names.length-1
|
244
|
-
`rm data#{i}.dat`
|
245
|
-
LOGGER.debug "data#{i}.dat removed."
|
246
|
-
end
|
260
|
+
tmp_datasets.each{|f| f.delete}
|
247
261
|
end
|
248
262
|
|
249
263
|
def self.test_plot_points
|
250
|
-
regression_point_plot("/tmp/regression.png" , "name of title", "x-values", "y-values", ["this-one-has-a-very-very-very-long-name", "test" ],
|
251
|
-
[[0.20,0.60,0.80,0.20,1.0,0.001], [0.10,0.25,0.70,0.95,0.2,0.3434]],
|
252
|
-
[[0.15,0.50,0.90,0.2,9,0.5],[0.20,0.40,0.50,0.70,0.3,0.234589]])
|
253
|
-
|
254
|
-
|
255
|
-
[[
|
256
|
-
|
264
|
+
# regression_point_plot("/tmp/regression.png" , "name of title", "x-values", "y-values", ["this-one-has-a-very-very-very-long-name", "test" ],
|
265
|
+
# [[0.20,0.60,0.80,0.20,1.0,0.001], [0.10,0.25,0.70,0.95,0.2,0.3434]],
|
266
|
+
# [[0.15,0.50,0.90,0.2,9,0.5],[0.20,0.40,0.50,0.70,0.3,0.234589]])
|
267
|
+
# accuracy_confidence_plot("/tmp/accuracy-conf.png" , "name of title", "x-values", "y-values", ["test" ],
|
268
|
+
# [[0.9,0.5,0.3,0.1]],
|
269
|
+
# [[100,90,70,30]])
|
270
|
+
|
271
|
+
x = []
|
272
|
+
y = []
|
273
|
+
noise = 0
|
274
|
+
100.times do |i|
|
275
|
+
i += 1
|
276
|
+
noise += rand**2 * (rand<0.5 ? 1 : -1)
|
277
|
+
x << i
|
278
|
+
y << 1/i + noise
|
279
|
+
end
|
280
|
+
confidence_plot("/tmp/test-plot.svg" , "name of title", "x-values", "y-values", ["test"],
|
281
|
+
[x],
|
282
|
+
[y])
|
257
283
|
end
|
258
284
|
|
259
285
|
private
|
data/lib/ruby-plot.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'logger'
|
3
3
|
require 'gnuplot'
|
4
|
+
require 'tempfile'
|
4
5
|
|
5
6
|
unless(defined? LOGGER)
|
6
7
|
LOGGER = Logger.new(STDOUT)
|
@@ -10,7 +11,9 @@ end
|
|
10
11
|
require "plot_bars.rb"
|
11
12
|
require "plot_lines.rb"
|
12
13
|
require "plot_points.rb"
|
14
|
+
require "plot_box.rb"
|
13
15
|
|
14
16
|
#RubyPlot::test_plot_lines
|
15
17
|
#RubyPlot::test_plot_bars
|
16
18
|
#RubyPlot::test_plot_points
|
19
|
+
#RubyPlot::test_plot_box
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-plot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 7
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
8
|
+
- 6
|
9
9
|
- 0
|
10
|
-
version: 0.
|
10
|
+
version: 0.6.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- David Vorgrimmler
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2011-
|
19
|
+
date: 2011-11-25 00:00:00 +01:00
|
20
20
|
default_executable:
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
@@ -46,6 +46,7 @@ files:
|
|
46
46
|
- Rakefile
|
47
47
|
- VERSION
|
48
48
|
- lib/plot_bars.rb
|
49
|
+
- lib/plot_box.rb
|
49
50
|
- lib/plot_lines.rb
|
50
51
|
- lib/plot_points.rb
|
51
52
|
- lib/ruby-plot.rb
|