gruff 0.0.5 → 0.0.6
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/CHANGELOG +4 -0
- data/lib/gruff.rb +7 -5
- data/lib/gruff/area.rb +3 -1
- data/lib/gruff/bar.rb +3 -1
- data/lib/gruff/base.rb +9 -1
- data/lib/gruff/line.rb +3 -1
- data/lib/gruff/pie.rb +3 -1
- data/test/line_test.rb +10 -70
- metadata +3 -3
- data/assets/plastik-yellow.png +0 -0
data/CHANGELOG
CHANGED
data/lib/gruff.rb
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
|
2
|
-
require
|
2
|
+
# Extra full path added to fix some require errors on some installations.
|
3
3
|
|
4
|
-
require 'gruff/
|
5
|
-
|
6
|
-
require 'gruff/
|
7
|
-
require 'gruff/
|
4
|
+
require File.dirname(__FILE__) + '/gruff/base'
|
5
|
+
|
6
|
+
require File.dirname(__FILE__) + '/gruff/area'
|
7
|
+
require File.dirname(__FILE__) + '/gruff/bar'
|
8
|
+
require File.dirname(__FILE__) + '/gruff/line'
|
9
|
+
require File.dirname(__FILE__) + '/gruff/pie'
|
data/lib/gruff/area.rb
CHANGED
data/lib/gruff/bar.rb
CHANGED
data/lib/gruff/base.rb
CHANGED
@@ -17,7 +17,7 @@ require 'yaml'
|
|
17
17
|
|
18
18
|
module Gruff
|
19
19
|
|
20
|
-
VERSION = '0.0.
|
20
|
+
VERSION = '0.0.6'
|
21
21
|
|
22
22
|
class Base
|
23
23
|
|
@@ -53,6 +53,7 @@ module Gruff
|
|
53
53
|
@graph_width = 590.0
|
54
54
|
@column_count = 0
|
55
55
|
@maximum_value = 0
|
56
|
+
@has_data = false
|
56
57
|
@data = Array.new
|
57
58
|
@labels = Hash.new
|
58
59
|
@labels_seen = Hash.new
|
@@ -171,6 +172,9 @@ module Gruff
|
|
171
172
|
# Pre-normalize
|
172
173
|
data_points.each do |data_point|
|
173
174
|
@maximum_value = (data_point > @maximum_value) ? data_point : @maximum_value
|
175
|
+
if @maximum_value > 0
|
176
|
+
@has_data = true
|
177
|
+
end
|
174
178
|
end
|
175
179
|
end
|
176
180
|
|
@@ -207,6 +211,8 @@ protected
|
|
207
211
|
# - legend
|
208
212
|
# - title
|
209
213
|
def setup_drawing
|
214
|
+
return unless @has_data # Maybe should be done in one of the following functions for more granularity.
|
215
|
+
|
210
216
|
normalize()
|
211
217
|
setup_graph_measurements()
|
212
218
|
|
@@ -219,6 +225,8 @@ protected
|
|
219
225
|
def normalize
|
220
226
|
if @norm_data.nil?
|
221
227
|
@norm_data = Array.new
|
228
|
+
return unless @has_data
|
229
|
+
|
222
230
|
@data.each do |data_row|
|
223
231
|
norm_data_points = Array.new
|
224
232
|
data_row[1].each do |data_point|
|
data/lib/gruff/line.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
|
2
|
-
require '
|
2
|
+
require File.dirname(__FILE__) + '/base'
|
3
3
|
|
4
4
|
class Gruff::Line < Gruff::Base
|
5
5
|
|
@@ -24,6 +24,8 @@ class Gruff::Line < Gruff::Base
|
|
24
24
|
def draw
|
25
25
|
super
|
26
26
|
|
27
|
+
return unless @has_data
|
28
|
+
|
27
29
|
@x_increment = @graph_width / (@column_count - 1).to_f
|
28
30
|
circle_radius = clip_value_if_greater_than(@columns / (@norm_data.first[1].size * 2.5), 5.0)
|
29
31
|
|
data/lib/gruff/pie.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
|
2
|
-
require '
|
2
|
+
require File.dirname(__FILE__) + '/base'
|
3
3
|
|
4
4
|
class Gruff::Pie < Gruff::Base
|
5
5
|
|
@@ -8,6 +8,8 @@ class Gruff::Pie < Gruff::Base
|
|
8
8
|
|
9
9
|
super
|
10
10
|
|
11
|
+
return unless @has_data
|
12
|
+
|
11
13
|
diameter = @graph_height
|
12
14
|
radius = @graph_height / 2.0
|
13
15
|
top_x = @graph_left + (@graph_width - diameter) / 2.0
|
data/test/line_test.rb
CHANGED
@@ -251,84 +251,24 @@ class TestGruffLine < Test::Unit::TestCase
|
|
251
251
|
g.write("test/output/line_dots_tiny.png")
|
252
252
|
end
|
253
253
|
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
g = Gruff::Line.new(size)
|
258
|
-
g.title = "#{size}px Graph Test"
|
259
|
-
g.labels = {
|
260
|
-
0 => '5/6',
|
261
|
-
2 => '5/15',
|
262
|
-
4 => '5/24',
|
263
|
-
6 => '5/30',
|
264
|
-
}
|
265
|
-
@datasets.each do |data|
|
266
|
-
g.data(data[0], data[1])
|
267
|
-
end
|
268
|
-
|
269
|
-
# Default theme
|
270
|
-
g.write("test/output/line_#{size}.png")
|
271
|
-
end
|
272
|
-
end
|
273
|
-
=end
|
274
|
-
|
275
|
-
=begin
|
276
|
-
def test_for_blog
|
277
|
-
g = Gruff::Line.new
|
278
|
-
g.labels = {
|
279
|
-
0 => '2002',
|
280
|
-
2 => '2003',
|
281
|
-
4 => '2004',
|
282
|
-
6 => '2005',
|
283
|
-
}
|
284
|
-
@datasets.each do |data|
|
285
|
-
g.data(data[0], data[1])
|
286
|
-
end
|
254
|
+
def test_no_data
|
255
|
+
g = Gruff::Line.new(400)
|
256
|
+
g.title = "No Data"
|
287
257
|
|
288
258
|
# Default theme
|
289
|
-
g.
|
290
|
-
g.write("test/output/1.png")
|
291
|
-
|
292
|
-
g.theme_odeo
|
293
|
-
g.title = "Themes, Colors, and Fonts!"
|
294
|
-
g.font = File.expand_path('CREABBRG.TTF', ENV['MAGICK_FONT_PATH'])
|
295
|
-
g.write("test/output/2.png")
|
296
|
-
|
297
|
-
g.theme_rails_keynote
|
298
|
-
g.title = "Source Coming Soon..."
|
299
|
-
g.font = File.expand_path('Vera.ttf', ENV['MAGICK_FONT_PATH'])
|
300
|
-
g.write("test/output/3.png")
|
301
|
-
|
259
|
+
g.write("test/output/line_no_data.png")
|
302
260
|
end
|
303
261
|
|
304
|
-
|
262
|
+
|
263
|
+
def test_no_data_other
|
305
264
|
g = Gruff::Line.new(400)
|
306
|
-
g.
|
307
|
-
0 => '2002',
|
308
|
-
2 => '2003',
|
309
|
-
4 => '2004',
|
310
|
-
6 => '2005',
|
311
|
-
}
|
312
|
-
@datasets.each do |data|
|
313
|
-
g.data(data[0], data[1])
|
314
|
-
end
|
265
|
+
g.title = "No Data Other"
|
315
266
|
|
316
|
-
|
317
|
-
g.title = "Gruff...graphs"
|
318
|
-
g.write("test/output/1_small.png")
|
267
|
+
g.data(:gus, [0,0,0,0])
|
319
268
|
|
320
|
-
|
321
|
-
g.
|
322
|
-
g.font = File.expand_path('CREABBRG.TTF', ENV['MAGICK_FONT_PATH'])
|
323
|
-
g.write("test/output/2_small.png")
|
324
|
-
|
325
|
-
g.theme_rails_keynote
|
326
|
-
g.title = "Source Coming Soon..."
|
327
|
-
g.font = File.expand_path('Vera.ttf', ENV['MAGICK_FONT_PATH'])
|
328
|
-
g.write("test/output/3_small.png")
|
329
|
-
|
269
|
+
# Default theme
|
270
|
+
g.write("test/output/line_no_data_other.png")
|
330
271
|
end
|
331
|
-
=end
|
332
272
|
|
333
273
|
|
334
274
|
end
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
|
|
3
3
|
specification_version: 1
|
4
4
|
name: gruff
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.0.
|
7
|
-
date: 2005-11-
|
6
|
+
version: 0.0.6
|
7
|
+
date: 2005-11-22 00:00:00 -08:00
|
8
8
|
summary: Beautiful graphs for one or multiple datasets.
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -41,7 +41,7 @@ files:
|
|
41
41
|
- lib/gruff/line.rb
|
42
42
|
- lib/gruff/pie.rb
|
43
43
|
- assets/bubble.png
|
44
|
-
- assets/plastik
|
44
|
+
- assets/plastik
|
45
45
|
- test/area_test.rb
|
46
46
|
- test/bar_test.rb
|
47
47
|
- test/line_test.rb
|
data/assets/plastik-yellow.png
DELETED
Binary file
|