schapht-gruff 0.3.5
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/History.txt +111 -0
- data/MIT-LICENSE +21 -0
- data/Manifest.txt +79 -0
- data/README.txt +40 -0
- data/Rakefile +55 -0
- data/assets/bubble.png +0 -0
- data/assets/city_scene/background/0000.png +0 -0
- data/assets/city_scene/background/0600.png +0 -0
- data/assets/city_scene/background/2000.png +0 -0
- data/assets/city_scene/clouds/cloudy.png +0 -0
- data/assets/city_scene/clouds/partly_cloudy.png +0 -0
- data/assets/city_scene/clouds/stormy.png +0 -0
- data/assets/city_scene/grass/default.png +0 -0
- data/assets/city_scene/haze/true.png +0 -0
- data/assets/city_scene/number_sample/1.png +0 -0
- data/assets/city_scene/number_sample/2.png +0 -0
- data/assets/city_scene/number_sample/default.png +0 -0
- data/assets/city_scene/sky/0000.png +0 -0
- data/assets/city_scene/sky/0200.png +0 -0
- data/assets/city_scene/sky/0400.png +0 -0
- data/assets/city_scene/sky/0600.png +0 -0
- data/assets/city_scene/sky/0800.png +0 -0
- data/assets/city_scene/sky/1000.png +0 -0
- data/assets/city_scene/sky/1200.png +0 -0
- data/assets/city_scene/sky/1400.png +0 -0
- data/assets/city_scene/sky/1500.png +0 -0
- data/assets/city_scene/sky/1700.png +0 -0
- data/assets/city_scene/sky/2000.png +0 -0
- data/assets/pc306715.jpg +0 -0
- data/assets/plastik/blue.png +0 -0
- data/assets/plastik/green.png +0 -0
- data/assets/plastik/red.png +0 -0
- data/init.rb +2 -0
- data/lib/gruff.rb +27 -0
- data/lib/gruff/accumulator_bar.rb +27 -0
- data/lib/gruff/area.rb +58 -0
- data/lib/gruff/bar.rb +84 -0
- data/lib/gruff/bar_conversion.rb +46 -0
- data/lib/gruff/base.rb +1112 -0
- data/lib/gruff/bullet.rb +109 -0
- data/lib/gruff/deprecated.rb +39 -0
- data/lib/gruff/line.rb +105 -0
- data/lib/gruff/mini/bar.rb +32 -0
- data/lib/gruff/mini/legend.rb +77 -0
- data/lib/gruff/mini/pie.rb +36 -0
- data/lib/gruff/mini/side_bar.rb +35 -0
- data/lib/gruff/net.rb +142 -0
- data/lib/gruff/photo_bar.rb +100 -0
- data/lib/gruff/pie.rb +124 -0
- data/lib/gruff/scene.rb +209 -0
- data/lib/gruff/side_bar.rb +115 -0
- data/lib/gruff/side_stacked_bar.rb +74 -0
- data/lib/gruff/spider.rb +130 -0
- data/lib/gruff/stacked_area.rb +67 -0
- data/lib/gruff/stacked_bar.rb +54 -0
- data/lib/gruff/stacked_mixin.rb +23 -0
- data/rails_generators/gruff/gruff_generator.rb +63 -0
- data/rails_generators/gruff/templates/controller.rb +32 -0
- data/rails_generators/gruff/templates/functional_test.rb +24 -0
- data/test/gruff_test_case.rb +123 -0
- data/test/test_accumulator_bar.rb +50 -0
- data/test/test_area.rb +134 -0
- data/test/test_bar.rb +283 -0
- data/test/test_base.rb +8 -0
- data/test/test_bullet.rb +26 -0
- data/test/test_legend.rb +68 -0
- data/test/test_line.rb +513 -0
- data/test/test_mini_bar.rb +32 -0
- data/test/test_mini_pie.rb +20 -0
- data/test/test_mini_side_bar.rb +37 -0
- data/test/test_net.rb +230 -0
- data/test/test_photo.rb +41 -0
- data/test/test_pie.rb +154 -0
- data/test/test_scene.rb +100 -0
- data/test/test_side_bar.rb +12 -0
- data/test/test_sidestacked_bar.rb +89 -0
- data/test/test_spider.rb +216 -0
- data/test/test_stacked_area.rb +52 -0
- data/test/test_stacked_bar.rb +52 -0
- metadata +160 -0
@@ -0,0 +1,32 @@
|
|
1
|
+
|
2
|
+
require File.dirname(__FILE__) + "/gruff_test_case"
|
3
|
+
|
4
|
+
class TestMiniBar < GruffTestCase
|
5
|
+
|
6
|
+
def test_simple_bar
|
7
|
+
setup_single_dataset
|
8
|
+
g = setup_basic_graph(Gruff::Mini::Bar, 200)
|
9
|
+
write_test_file g, 'mini_bar.png'
|
10
|
+
end
|
11
|
+
|
12
|
+
# def test_simple_bar_wide_dataset
|
13
|
+
# setup_wide_dataset
|
14
|
+
# g = setup_basic_graph(Gruff::Mini::Bar, 200)
|
15
|
+
# write_test_file g, 'mini_bar_wide_data.png'
|
16
|
+
# end
|
17
|
+
#
|
18
|
+
# def test_code_sample
|
19
|
+
# g = Gruff::Mini::Bar.new(200)
|
20
|
+
# g.data "Jim", [200, 500, 400]
|
21
|
+
# g.labels = { 0 => 'This Month', 1 => 'Average', 2 => 'Overall'}
|
22
|
+
# g.write "mini_bar_one_color.png"
|
23
|
+
#
|
24
|
+
# g = Gruff::Mini::Bar.new(200)
|
25
|
+
# g.data "Car", 200
|
26
|
+
# g.data "Food", 500
|
27
|
+
# g.data "Art", 1000
|
28
|
+
# g.data "Music", 16
|
29
|
+
# g.write "mini_bar_many_colors.png"
|
30
|
+
# end
|
31
|
+
|
32
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
|
2
|
+
require File.dirname(__FILE__) + "/gruff_test_case"
|
3
|
+
|
4
|
+
class TestMiniPie < GruffTestCase
|
5
|
+
|
6
|
+
def test_simple_pie
|
7
|
+
g = setup_basic_graph(Gruff::Mini::Pie, 200)
|
8
|
+
write_test_file g, 'mini_pie.png'
|
9
|
+
end
|
10
|
+
|
11
|
+
# def test_code_sample
|
12
|
+
# g = Gruff::Mini::Pie.new(200)
|
13
|
+
# g.data "Car", 200
|
14
|
+
# g.data "Food", 500
|
15
|
+
# g.data "Art", 1000
|
16
|
+
# g.data "Music", 16
|
17
|
+
# g.write "mini_pie.png"
|
18
|
+
# end
|
19
|
+
|
20
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
|
2
|
+
require File.dirname(__FILE__) + "/gruff_test_case"
|
3
|
+
|
4
|
+
class TestMiniSideBar < GruffTestCase
|
5
|
+
|
6
|
+
def test_one_color
|
7
|
+
# Use a single data set
|
8
|
+
@datasets = [
|
9
|
+
[:Jimmy, [25, 36, 86, 39]]
|
10
|
+
]
|
11
|
+
@labels = {
|
12
|
+
0 => 'Auto',
|
13
|
+
1 => 'Entertainment',
|
14
|
+
2 => 'Food',
|
15
|
+
3 => 'Bus'
|
16
|
+
}
|
17
|
+
|
18
|
+
g = setup_basic_graph(Gruff::Mini::SideBar, 200)
|
19
|
+
write_test_file g, 'mini_side_bar.png'
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_multi_color
|
23
|
+
# @datasets = [
|
24
|
+
# [:Jimmy, [25, 36, 86, 39]]
|
25
|
+
# ]
|
26
|
+
# @labels = {
|
27
|
+
# 0 => 'Auto',
|
28
|
+
# 1 => 'Entertainment',
|
29
|
+
# 2 => 'Food',
|
30
|
+
# 3 => 'Bus'
|
31
|
+
# }
|
32
|
+
|
33
|
+
g = setup_basic_graph(Gruff::Mini::SideBar, 200)
|
34
|
+
write_test_file g, 'mini_side_bar_multi_color.png'
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
data/test/test_net.rb
ADDED
@@ -0,0 +1,230 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
|
3
|
+
require File.dirname(__FILE__) + "/gruff_test_case"
|
4
|
+
|
5
|
+
class TestGruffNet < GruffTestCase
|
6
|
+
|
7
|
+
def setup
|
8
|
+
@datasets = [
|
9
|
+
[:Jimmy, [25, 36, 86, 39, 25, 31, 79, 88]],
|
10
|
+
[:Charles, [80, 54, 67, 54, 68, 70, 90, 95]],
|
11
|
+
[:Julie, [22, 29, 35, 38, 36, 40, 46, 57]],
|
12
|
+
[:Jane, [95, 95, 95, 90, 85, 80, 88, 100]],
|
13
|
+
[:Philip, [90, 34, 23, 12, 78, 89, 98, 88]],
|
14
|
+
["Arthur", [5, 10, 13, 11, 6, 16, 22, 32]],
|
15
|
+
]
|
16
|
+
|
17
|
+
@sample_labels = {
|
18
|
+
0 => '5/6',
|
19
|
+
1 => '5/15',
|
20
|
+
2 => '5/24',
|
21
|
+
3 => '5/30',
|
22
|
+
4 => '6/4',
|
23
|
+
5 => '6/12',
|
24
|
+
6 => '6/21',
|
25
|
+
7 => '6/28',
|
26
|
+
}
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_net_small_values
|
30
|
+
@datasets = [
|
31
|
+
[:small, [0.1, 0.14356, 0.0, 0.5674839, 0.456]],
|
32
|
+
[:small2, [0.2, 0.3, 0.1, 0.05, 0.9]]
|
33
|
+
]
|
34
|
+
|
35
|
+
g = Gruff::Net.new
|
36
|
+
g.title = "Small Values Net Graph Test"
|
37
|
+
@datasets.each do |data|
|
38
|
+
g.data(data[0], data[1])
|
39
|
+
end
|
40
|
+
g.write("test/output/net_small.png")
|
41
|
+
|
42
|
+
g = Gruff::Net.new(400)
|
43
|
+
g.title = "Small Values Net Graph Test 400px"
|
44
|
+
@datasets.each do |data|
|
45
|
+
g.data(data[0], data[1])
|
46
|
+
end
|
47
|
+
g.write("test/output/net_small_small.png")
|
48
|
+
end
|
49
|
+
|
50
|
+
def test_net_starts_with_zero
|
51
|
+
@datasets = [
|
52
|
+
[:first0, [0, 5, 10, 8, 18]],
|
53
|
+
[:normal, [1, 2, 3, 4, 5]]
|
54
|
+
]
|
55
|
+
|
56
|
+
g = Gruff::Net.new
|
57
|
+
g.title = "Small Values Net Graph Test"
|
58
|
+
@datasets.each do |data|
|
59
|
+
g.data(data[0], data[1])
|
60
|
+
end
|
61
|
+
g.write("test/output/net_small_zero.png")
|
62
|
+
|
63
|
+
g = Gruff::Net.new(400)
|
64
|
+
g.title = "Small Values Net Graph Test 400px"
|
65
|
+
@datasets.each do |data|
|
66
|
+
g.data(data[0], data[1])
|
67
|
+
end
|
68
|
+
g.write("test/output/net_small_small_zero.png")
|
69
|
+
end
|
70
|
+
|
71
|
+
|
72
|
+
def test_net_large_values
|
73
|
+
@datasets = [
|
74
|
+
[:large, [100_005, 35_000, 28_000, 27_000]],
|
75
|
+
[:large2, [35_000, 28_000, 27_000, 100_005]],
|
76
|
+
[:large3, [28_000, 27_000, 100_005, 35_000]],
|
77
|
+
[:large4, [1_238, 39_092, 27_938, 48_876]]
|
78
|
+
]
|
79
|
+
|
80
|
+
g = Gruff::Net.new
|
81
|
+
g.title = "Very Large Values Net Graph Test"
|
82
|
+
@datasets.each do |data|
|
83
|
+
g.data(data[0], data[1])
|
84
|
+
end
|
85
|
+
|
86
|
+
g.write("test/output/net_large.png")
|
87
|
+
end
|
88
|
+
|
89
|
+
def test_many_datapoints
|
90
|
+
g = Gruff::Net.new
|
91
|
+
g.title = "Many Multi-Net Graph Test"
|
92
|
+
g.labels = {
|
93
|
+
0 => 'June',
|
94
|
+
10 => 'July',
|
95
|
+
30 => 'August',
|
96
|
+
50 => 'September',
|
97
|
+
}
|
98
|
+
g.data('many points', (0..50).collect {|i| rand(100) })
|
99
|
+
|
100
|
+
# Default theme
|
101
|
+
g.write("test/output/net_many.png")
|
102
|
+
end
|
103
|
+
|
104
|
+
|
105
|
+
def test_similar_high_end_values
|
106
|
+
g = Gruff::Net.new
|
107
|
+
g.title = "Similar High End Values Test"
|
108
|
+
g.data('similar points', %w(29.43 29.459 29.498 29.53 29.548 29.589 29.619 29.66 29.689 29.849 29.878 29.74 29.769 29.79 29.808 29.828).collect {|i| i.to_f} )
|
109
|
+
|
110
|
+
# Default theme
|
111
|
+
g.write("test/output/net_similar_high_end_values.png")
|
112
|
+
end
|
113
|
+
|
114
|
+
def test_many_nets_graph_small
|
115
|
+
g = Gruff::Net.new(400)
|
116
|
+
g.title = "Many Values Net Test 400px"
|
117
|
+
g.labels = {
|
118
|
+
0 => '5/6',
|
119
|
+
10 => '5/15',
|
120
|
+
20 => '5/24',
|
121
|
+
30 => '5/30',
|
122
|
+
40 => '6/4',
|
123
|
+
50 => '6/16'
|
124
|
+
}
|
125
|
+
%w{jimmy jane philip arthur julie bert}.each do |student_name|
|
126
|
+
g.data(student_name, (0..50).collect { |i| rand 100 })
|
127
|
+
end
|
128
|
+
|
129
|
+
# Default theme
|
130
|
+
g.write("test/output/net_many_nets_small.png")
|
131
|
+
end
|
132
|
+
|
133
|
+
def test_dots_graph_tiny
|
134
|
+
g = Gruff::Net.new(300)
|
135
|
+
g.title = "Dots Test 300px"
|
136
|
+
g.labels = {
|
137
|
+
0 => '5/6',
|
138
|
+
10 => '5/15',
|
139
|
+
20 => '5/24',
|
140
|
+
30 => '5/30',
|
141
|
+
40 => '6/4',
|
142
|
+
50 => '6/16'
|
143
|
+
}
|
144
|
+
%w{jimmy jane philip arthur julie bert}.each do |student_name|
|
145
|
+
g.data(student_name, (0..50).collect { |i| rand 100 })
|
146
|
+
end
|
147
|
+
|
148
|
+
# Default theme
|
149
|
+
g.write("test/output/net_dots_tiny.png")
|
150
|
+
end
|
151
|
+
|
152
|
+
def test_no_data
|
153
|
+
g = Gruff::Net.new(400)
|
154
|
+
g.title = "No Data"
|
155
|
+
# Default theme
|
156
|
+
g.write("test/output/net_no_data.png")
|
157
|
+
|
158
|
+
g = Gruff::Net.new(400)
|
159
|
+
g.title = "No Data Title"
|
160
|
+
g.no_data_message = 'There is no data'
|
161
|
+
g.write("test/output/net_no_data_msg.png")
|
162
|
+
end
|
163
|
+
|
164
|
+
|
165
|
+
def test_all_zeros
|
166
|
+
g = Gruff::Net.new(400)
|
167
|
+
g.title = "All Zeros"
|
168
|
+
|
169
|
+
g.data(:gus, [0,0,0,0])
|
170
|
+
|
171
|
+
# Default theme
|
172
|
+
g.write("test/output/net_no_data_other.png")
|
173
|
+
end
|
174
|
+
|
175
|
+
def test_no_title
|
176
|
+
g = Gruff::Net.new(400)
|
177
|
+
g.labels = @sample_labels
|
178
|
+
@datasets.each do |data|
|
179
|
+
g.data(data[0], data[1])
|
180
|
+
end
|
181
|
+
|
182
|
+
g.write("test/output/net_no_title.png")
|
183
|
+
end
|
184
|
+
|
185
|
+
def test_no_net_markers
|
186
|
+
g = setup_basic_graph(400)
|
187
|
+
g.title = "No Net Markers"
|
188
|
+
g.hide_line_markers = true
|
189
|
+
g.write("test/output/net_no_net_markers.png")
|
190
|
+
end
|
191
|
+
|
192
|
+
def test_no_legend
|
193
|
+
g = setup_basic_graph(400)
|
194
|
+
g.title = "No Legend"
|
195
|
+
g.hide_legend = true
|
196
|
+
g.write("test/output/net_no_legend.png")
|
197
|
+
end
|
198
|
+
|
199
|
+
def test_nothing_but_the_graph
|
200
|
+
g = setup_basic_graph(400)
|
201
|
+
g.title = "THIS TITLE SHOULD NOT DISPLAY!!!"
|
202
|
+
g.hide_line_markers = true
|
203
|
+
g.hide_legend = true
|
204
|
+
g.hide_title = true
|
205
|
+
g.write("test/output/net_nothing_but_the_graph.png")
|
206
|
+
end
|
207
|
+
|
208
|
+
def test_wide_graph
|
209
|
+
g = setup_basic_graph('800x400')
|
210
|
+
g.title = "Wide Graph"
|
211
|
+
g.write("test/output/net_wide_graph.png")
|
212
|
+
|
213
|
+
g = setup_basic_graph('400x200')
|
214
|
+
g.title = "Wide Graph Small"
|
215
|
+
g.write("test/output/net_wide_graph_small.png")
|
216
|
+
end
|
217
|
+
|
218
|
+
protected
|
219
|
+
|
220
|
+
def setup_basic_graph(size=800)
|
221
|
+
g = Gruff::Net.new(size)
|
222
|
+
g.title = "My Graph Title"
|
223
|
+
g.labels = @sample_labels
|
224
|
+
@datasets.each do |data|
|
225
|
+
g.data(data[0], data[1])
|
226
|
+
end
|
227
|
+
return g
|
228
|
+
end
|
229
|
+
|
230
|
+
end
|
data/test/test_photo.rb
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
|
3
|
+
require File.dirname(__FILE__) + "/gruff_test_case"
|
4
|
+
|
5
|
+
class TestGruffPhotoBar < GruffTestCase
|
6
|
+
|
7
|
+
# def setup
|
8
|
+
# @datasets = [
|
9
|
+
# [:Jimmy, [25, 36, 86, 39]],
|
10
|
+
# [:Charles, [80, 54, 67, 54]],
|
11
|
+
# # [:Charity, [0, nil, 100, 90]],
|
12
|
+
# ]
|
13
|
+
# end
|
14
|
+
#
|
15
|
+
# def test_bar_graph
|
16
|
+
# bar_graph_sized
|
17
|
+
# bar_graph_sized(400)
|
18
|
+
# end
|
19
|
+
#
|
20
|
+
#
|
21
|
+
# protected
|
22
|
+
#
|
23
|
+
# def bar_graph_sized(size=800)
|
24
|
+
# g = Gruff::PhotoBar.new(size)
|
25
|
+
# g.title = "Photo Bar Graph Test #{size}px"
|
26
|
+
# g.labels = {
|
27
|
+
# 0 => '5/6',
|
28
|
+
# 1 => '5/15',
|
29
|
+
# 2 => '5/24',
|
30
|
+
# 3 => '5/30',
|
31
|
+
# }
|
32
|
+
# @datasets.each do |data|
|
33
|
+
# g.data(*data)
|
34
|
+
# end
|
35
|
+
#
|
36
|
+
# g.theme = 'plastik'
|
37
|
+
#
|
38
|
+
# g.write("test/output/photo_plastik_#{size}.png")
|
39
|
+
# end
|
40
|
+
|
41
|
+
end
|
data/test/test_pie.rb
ADDED
@@ -0,0 +1,154 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
|
3
|
+
require File.dirname(__FILE__) + "/gruff_test_case"
|
4
|
+
|
5
|
+
class TestGruffPie < GruffTestCase
|
6
|
+
|
7
|
+
def setup
|
8
|
+
@datasets = [
|
9
|
+
[:Darren, [25]],
|
10
|
+
[:Chris, [80]],
|
11
|
+
[:Egbert, [22]],
|
12
|
+
[:Adam, [95]],
|
13
|
+
[:Bill, [90]],
|
14
|
+
["Frank", [5]],
|
15
|
+
["Zero", [0]],
|
16
|
+
]
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_pie_graph
|
20
|
+
g = Gruff::Pie.new
|
21
|
+
g.title = "Visual Pie Graph Test"
|
22
|
+
@datasets.each do |data|
|
23
|
+
g.data(data[0], data[1])
|
24
|
+
end
|
25
|
+
|
26
|
+
# Default theme
|
27
|
+
g.write("test/output/pie_keynote.png")
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_pie_graph_greyscale
|
31
|
+
g = Gruff::Pie.new
|
32
|
+
g.title = "Greyscale Pie Graph Test"
|
33
|
+
g.theme_greyscale
|
34
|
+
@datasets.each do |data|
|
35
|
+
g.data(data[0], data[1])
|
36
|
+
end
|
37
|
+
|
38
|
+
# Default theme
|
39
|
+
g.write("test/output/pie_grey.png")
|
40
|
+
end
|
41
|
+
|
42
|
+
def test_pie_graph_pastel
|
43
|
+
g = Gruff::Pie.new
|
44
|
+
g.theme_pastel
|
45
|
+
g.title = "Pastel Pie Graph Test"
|
46
|
+
@datasets.each do |data|
|
47
|
+
g.data(data[0], data[1])
|
48
|
+
end
|
49
|
+
|
50
|
+
# Default theme
|
51
|
+
g.write("test/output/pie_pastel.png")
|
52
|
+
end
|
53
|
+
|
54
|
+
|
55
|
+
def test_pie_graph_small
|
56
|
+
g = Gruff::Pie.new(400)
|
57
|
+
g.title = "Visual Pie Graph Test Small"
|
58
|
+
@datasets.each do |data|
|
59
|
+
g.data(data[0], data[1])
|
60
|
+
end
|
61
|
+
|
62
|
+
# Default theme
|
63
|
+
g.write("test/output/pie_keynote_small.png")
|
64
|
+
end
|
65
|
+
|
66
|
+
def test_pie_graph_nearly_equal
|
67
|
+
g = Gruff::Pie.new
|
68
|
+
g.title = "Pie Graph Nearly Equal"
|
69
|
+
|
70
|
+
g.data(:Blake, [41])
|
71
|
+
g.data(:Aaron, [42])
|
72
|
+
# g.data(:Grouch, [40])
|
73
|
+
# g.data(:Snuffleupagus, [43])
|
74
|
+
|
75
|
+
g.write("test/output/pie_nearly_equal.png")
|
76
|
+
end
|
77
|
+
|
78
|
+
def test_pie_graph_equal
|
79
|
+
g = Gruff::Pie.new
|
80
|
+
g.title = "Pie Graph Equal"
|
81
|
+
|
82
|
+
g.data(:Bert, [41])
|
83
|
+
g.data(:Adam, [41])
|
84
|
+
|
85
|
+
g.write("test/output/pie_equal.png")
|
86
|
+
end
|
87
|
+
|
88
|
+
def test_pie_graph_zero
|
89
|
+
g = Gruff::Pie.new
|
90
|
+
g.title = "Pie Graph One Zero"
|
91
|
+
|
92
|
+
g.data(:Bert, [0])
|
93
|
+
g.data(:Adam, [1])
|
94
|
+
|
95
|
+
g.write("test/output/pie_zero.png")
|
96
|
+
end
|
97
|
+
|
98
|
+
|
99
|
+
def test_pie_graph_one_val
|
100
|
+
g = Gruff::Pie.new
|
101
|
+
g.title = "Pie Graph One Val"
|
102
|
+
|
103
|
+
g.data(:Bert, 53)
|
104
|
+
g.data(:Adam, 29)
|
105
|
+
|
106
|
+
g.write("test/output/pie_one_val.png")
|
107
|
+
end
|
108
|
+
|
109
|
+
|
110
|
+
def test_wide
|
111
|
+
g = setup_basic_graph('800x400')
|
112
|
+
g.title = "Wide Pie"
|
113
|
+
g.write("test/output/pie_wide.png")
|
114
|
+
end
|
115
|
+
|
116
|
+
def test_label_size
|
117
|
+
g = setup_basic_graph()
|
118
|
+
g.title = "Pie With Small Legend"
|
119
|
+
g.legend_font_size = 10
|
120
|
+
g.write("test/output/pie_legend.png")
|
121
|
+
|
122
|
+
g = setup_basic_graph(400)
|
123
|
+
g.title = "Small Pie With Small Legend"
|
124
|
+
g.legend_font_size = 10
|
125
|
+
g.write("test/output/pie_legend_small.png")
|
126
|
+
end
|
127
|
+
|
128
|
+
|
129
|
+
def test_tiny_simple_pie
|
130
|
+
@datasets = (1..5).map {|n| ['Auto', [rand(100)]]}
|
131
|
+
|
132
|
+
g = setup_basic_graph 200
|
133
|
+
g.hide_legend = true
|
134
|
+
g.hide_title = true
|
135
|
+
g.hide_line_numbers = true
|
136
|
+
|
137
|
+
g.marker_font_size = 40.0
|
138
|
+
g.minimum_value = 0.0
|
139
|
+
|
140
|
+
write_test_file g, "pie_simple.png"
|
141
|
+
end
|
142
|
+
|
143
|
+
protected
|
144
|
+
|
145
|
+
def setup_basic_graph(size=800)
|
146
|
+
g = Gruff::Pie.new(size)
|
147
|
+
g.title = "My Graph Title"
|
148
|
+
@datasets.each do |data|
|
149
|
+
g.data(data[0], data[1])
|
150
|
+
end
|
151
|
+
return g
|
152
|
+
end
|
153
|
+
|
154
|
+
end
|