gruff 0.7.0-java → 0.12.0-java
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.
- checksums.yaml +5 -5
- data/{History.txt → CHANGELOG.md} +81 -25
- data/Gemfile +3 -1
- data/README.md +51 -23
- data/assets/plastik/blue.png +0 -0
- data/assets/plastik/green.png +0 -0
- data/assets/plastik/red.png +0 -0
- data/gruff.gemspec +23 -13
- data/init.rb +2 -0
- data/lib/gruff.rb +33 -4
- data/lib/gruff/accumulator_bar.rb +17 -9
- data/lib/gruff/area.rb +31 -21
- data/lib/gruff/bar.rb +90 -46
- data/lib/gruff/base.rb +476 -710
- data/lib/gruff/bezier.rb +29 -18
- data/lib/gruff/bullet.rb +58 -71
- data/lib/gruff/dot.rb +35 -83
- data/lib/gruff/helper/bar_conversion.rb +47 -0
- data/lib/gruff/helper/bar_value_label_mixin.rb +33 -0
- data/lib/gruff/helper/stacked_mixin.rb +23 -0
- data/lib/gruff/histogram.rb +59 -0
- data/lib/gruff/line.rb +121 -199
- data/lib/gruff/mini/bar.rb +17 -10
- data/lib/gruff/mini/legend.rb +26 -38
- data/lib/gruff/mini/pie.rb +18 -13
- data/lib/gruff/mini/side_bar.rb +25 -12
- data/lib/gruff/net.rb +69 -83
- data/lib/gruff/patch/rmagick.rb +31 -0
- data/lib/gruff/patch/string.rb +13 -0
- data/lib/gruff/photo_bar.rb +36 -43
- data/lib/gruff/pie.rb +42 -103
- data/lib/gruff/renderer/bezier.rb +22 -0
- data/lib/gruff/renderer/circle.rb +22 -0
- data/lib/gruff/renderer/dash_line.rb +23 -0
- data/lib/gruff/renderer/dot.rb +40 -0
- data/lib/gruff/renderer/ellipse.rb +22 -0
- data/lib/gruff/renderer/line.rb +43 -0
- data/lib/gruff/renderer/polygon.rb +24 -0
- data/lib/gruff/renderer/polyline.rb +22 -0
- data/lib/gruff/renderer/rectangle.rb +20 -0
- data/lib/gruff/renderer/renderer.rb +120 -0
- data/lib/gruff/renderer/text.rb +57 -0
- data/lib/gruff/scatter.rb +128 -201
- data/lib/gruff/scene.rb +30 -41
- data/lib/gruff/side_bar.rb +100 -68
- data/lib/gruff/side_stacked_bar.rb +92 -63
- data/lib/gruff/spider.rb +47 -53
- data/lib/gruff/stacked_area.rb +37 -34
- data/lib/gruff/stacked_bar.rb +99 -54
- data/lib/gruff/store/basic_data.rb +36 -0
- data/lib/gruff/store/custom_data.rb +36 -0
- data/lib/gruff/store/store.rb +81 -0
- data/lib/gruff/store/xy_data.rb +58 -0
- data/lib/gruff/themes.rb +32 -33
- data/lib/gruff/version.rb +3 -1
- metadata +74 -102
- data/.gitignore +0 -7
- data/.travis.yml +0 -19
- data/Manifest.txt +0 -81
- data/RELEASE.md +0 -30
- data/Rakefile +0 -218
- 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/lib/gruff/bar_conversion.rb +0 -46
- data/lib/gruff/deprecated.rb +0 -39
- data/lib/gruff/stacked_mixin.rb +0 -23
- data/test/gruff_test_case.rb +0 -152
- data/test/image_compare.rb +0 -58
- data/test/test_accumulator_bar.rb +0 -51
- data/test/test_area.rb +0 -134
- data/test/test_bar.rb +0 -505
- data/test/test_base.rb +0 -33
- data/test/test_bezier.rb +0 -33
- data/test/test_bullet.rb +0 -26
- data/test/test_dot.rb +0 -263
- data/test/test_labels_for_null_data.rb +0 -27
- data/test/test_legend.rb +0 -68
- data/test/test_line.rb +0 -674
- data/test/test_mini_bar.rb +0 -33
- data/test/test_mini_pie.rb +0 -25
- data/test/test_mini_side_bar.rb +0 -36
- data/test/test_net.rb +0 -231
- data/test/test_photo.rb +0 -41
- data/test/test_pie.rb +0 -194
- data/test/test_scatter.rb +0 -270
- data/test/test_scene.rb +0 -100
- data/test/test_side_bar.rb +0 -56
- data/test/test_sidestacked_bar.rb +0 -105
- data/test/test_spider.rb +0 -226
- data/test/test_stacked_area.rb +0 -52
- data/test/test_stacked_bar.rb +0 -68
data/test/test_spider.rb
DELETED
@@ -1,226 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby
|
2
|
-
|
3
|
-
require File.dirname(__FILE__) + "/gruff_test_case"
|
4
|
-
|
5
|
-
class TestGruffSpider < GruffTestCase
|
6
|
-
|
7
|
-
def setup
|
8
|
-
@datasets = [
|
9
|
-
[:Strength, [10]],
|
10
|
-
[:Dexterity, [16]],
|
11
|
-
[:Constitution, [12]],
|
12
|
-
[:Intelligence, [12]],
|
13
|
-
[:Wisdom, [10]],
|
14
|
-
["Charisma", [16]],
|
15
|
-
]
|
16
|
-
|
17
|
-
# @datasets = [
|
18
|
-
# [:Darren, [25]],
|
19
|
-
# [:Chris, [80]],
|
20
|
-
# [:Egbert, [22]],
|
21
|
-
# [:Adam, [95]],
|
22
|
-
# [:Bill, [90]],
|
23
|
-
# ["Frank", [5]],
|
24
|
-
# ["Zero", [0]],
|
25
|
-
# ]
|
26
|
-
end
|
27
|
-
|
28
|
-
def test_spider_graph
|
29
|
-
g = Gruff::Spider.new(20)
|
30
|
-
g.title = "Spider Graph Test"
|
31
|
-
@datasets.each do |data|
|
32
|
-
g.data(data[0], data[1])
|
33
|
-
end
|
34
|
-
|
35
|
-
# Default theme
|
36
|
-
g.write("test/output/spider_keynote.png")
|
37
|
-
end
|
38
|
-
|
39
|
-
def test_pie_graph_small
|
40
|
-
g = Gruff::Spider.new(20, 400)
|
41
|
-
g.title = "Visual Spider Graph Test Small"
|
42
|
-
@datasets.each do |data|
|
43
|
-
g.data(data[0], data[1])
|
44
|
-
end
|
45
|
-
|
46
|
-
# Default theme
|
47
|
-
g.write("test/output/spider_small.png")
|
48
|
-
end
|
49
|
-
|
50
|
-
def test_spider_graph_nearly_equal
|
51
|
-
g = Gruff::Spider.new(50)
|
52
|
-
g.title = "Spider Graph Nearly Equal"
|
53
|
-
|
54
|
-
g.data(:Blake, [41])
|
55
|
-
g.data(:Aaron, [42])
|
56
|
-
g.data(:Grouch, [40])
|
57
|
-
# g.data(:Snuffleupagus, [43])
|
58
|
-
|
59
|
-
g.write("test/output/spider_nearly_equal.png")
|
60
|
-
end
|
61
|
-
|
62
|
-
def test_pie_graph_equal
|
63
|
-
g = Gruff::Spider.new(50)
|
64
|
-
g.title = "Spider Graph Equal"
|
65
|
-
|
66
|
-
g.data(:Bert, [41])
|
67
|
-
g.data(:Adam, [41])
|
68
|
-
g.data(:Joe, [41])
|
69
|
-
|
70
|
-
g.write("test/output/spider_equal.png")
|
71
|
-
end
|
72
|
-
|
73
|
-
def test_pie_graph_zero
|
74
|
-
g = Gruff::Spider.new(2)
|
75
|
-
g.title = "Pie Graph Two One Zero"
|
76
|
-
|
77
|
-
g.data(:Bert, [0])
|
78
|
-
g.data(:Adam, [1])
|
79
|
-
g.data(:Sam, [2])
|
80
|
-
|
81
|
-
g.write("test/output/spider_zero.png")
|
82
|
-
end
|
83
|
-
|
84
|
-
def test_wide
|
85
|
-
g = setup_basic_graph('800x400')
|
86
|
-
g.title = "Wide spider"
|
87
|
-
g.write("test/output/spider_wide.png")
|
88
|
-
end
|
89
|
-
|
90
|
-
def test_label_size
|
91
|
-
g = setup_basic_graph()
|
92
|
-
g.title = "Spider With Small Legend"
|
93
|
-
g.legend_font_size = 10
|
94
|
-
g.write("test/output/spider_legend.png")
|
95
|
-
|
96
|
-
g = setup_basic_graph(400)
|
97
|
-
g.title = "Small spider With Small Legend"
|
98
|
-
g.legend_font_size = 10
|
99
|
-
g.write("test/output/spider_legend_small.png")
|
100
|
-
end
|
101
|
-
|
102
|
-
def test_theme_37signals
|
103
|
-
g = Gruff::Spider.new(20)
|
104
|
-
g.title = "Spider Graph Test"
|
105
|
-
@datasets.each do |data|
|
106
|
-
g.data(data[0], data[1])
|
107
|
-
end
|
108
|
-
|
109
|
-
g.theme = Gruff::Themes::THIRTYSEVEN_SIGNALS
|
110
|
-
|
111
|
-
# Default theme
|
112
|
-
g.write("test/output/spider_37signals.png")
|
113
|
-
end
|
114
|
-
|
115
|
-
def test_no_axes
|
116
|
-
g = Gruff::Spider.new(20)
|
117
|
-
g.title = "Look ma, no axes"
|
118
|
-
g.hide_axes = true
|
119
|
-
@datasets.each do |data|
|
120
|
-
g.data(data[0], data[1])
|
121
|
-
end
|
122
|
-
g.write("test/output/spider_no_axes.png")
|
123
|
-
|
124
|
-
end
|
125
|
-
|
126
|
-
def test_no_print
|
127
|
-
g = Gruff::Spider.new(20)
|
128
|
-
g.title = "Should not print"
|
129
|
-
g.hide_text = true
|
130
|
-
@datasets.each do |data|
|
131
|
-
g.data(data[0], data[1])
|
132
|
-
end
|
133
|
-
g.write("test/output/spider_no_print.png")
|
134
|
-
end
|
135
|
-
|
136
|
-
def test_transparency
|
137
|
-
g = Gruff::Spider.new(20)
|
138
|
-
g.title = "Transparent background"
|
139
|
-
g.hide_text = true
|
140
|
-
g.transparent_background = true
|
141
|
-
g.hide_axes = true
|
142
|
-
@datasets.each do |data|
|
143
|
-
g.data(data[0], data[1])
|
144
|
-
end
|
145
|
-
g.write("test/output/spider_no_background.png")
|
146
|
-
end
|
147
|
-
|
148
|
-
def test_overlay
|
149
|
-
g = Gruff::Spider.new(20)
|
150
|
-
g.title = "George (blue) vs Sarah (white)"
|
151
|
-
@datasets.each do |data|
|
152
|
-
g.data(data[0], data[1])
|
153
|
-
end
|
154
|
-
g.write("test/output/spider_overlay_1.png")
|
155
|
-
|
156
|
-
g = Gruff::Spider.new(20)
|
157
|
-
g.title = "Transparent background"
|
158
|
-
g.hide_text = true
|
159
|
-
g.hide_axes = true
|
160
|
-
g.transparent_background = true
|
161
|
-
@datasets = [
|
162
|
-
[:Strength, [18]],
|
163
|
-
[:Dexterity, [10]],
|
164
|
-
[:Constitution, [18]],
|
165
|
-
[:Intelligence, [8]],
|
166
|
-
[:Wisdom, [14]],
|
167
|
-
["Charisma", [4]],
|
168
|
-
]
|
169
|
-
@datasets.each do |data|
|
170
|
-
g.data(data[0], data[1])
|
171
|
-
end
|
172
|
-
g.marker_color = "#4F6EFF"
|
173
|
-
g.write("test/output/spider_overlay_2.png")
|
174
|
-
end
|
175
|
-
|
176
|
-
def test_lots_of_data
|
177
|
-
g = Gruff::Spider.new(10)
|
178
|
-
@datasets = [[:a, [1]], [:b, [5]], [:c, [3]], [:d, [9]], [:e, [4]],
|
179
|
-
[:f, [7]], [:g, [0]], [:h, [4]], [:i, [6]], [:j, [0]],
|
180
|
-
[:k, [4]], [:l, [8]]]
|
181
|
-
|
182
|
-
@datasets.each do |data|
|
183
|
-
g.data(data[0], data[1])
|
184
|
-
end
|
185
|
-
|
186
|
-
g.title = "Sample Data"
|
187
|
-
g.write("test/output/spider_lots_of_data.png")
|
188
|
-
end
|
189
|
-
|
190
|
-
def test_lots_of_data_with_large_names
|
191
|
-
g = Gruff::Spider.new(10)
|
192
|
-
@datasets = [[:anteaters, [1]], [:bulls, [5]], [:cats, [3]], [:dogs, [9]], [:elephants, [4]],
|
193
|
-
[:frogs, [7]], [:giraffes, [0]], [:hamsters, [4]], [:iguanas, [6]],
|
194
|
-
[:jaguar, [0]], [:kangaroo, [4]], [:locust, [8]]]
|
195
|
-
|
196
|
-
@datasets.each do |data|
|
197
|
-
g.data(data[0], data[1])
|
198
|
-
end
|
199
|
-
|
200
|
-
g.title = "Zoo Inventory"
|
201
|
-
g.write("test/output/spider_lots_of_data_normal_names.png")
|
202
|
-
end
|
203
|
-
|
204
|
-
def test_rotation
|
205
|
-
g = Gruff::Spider.new(20)
|
206
|
-
g.title = "Rotation"
|
207
|
-
@datasets.each do |data|
|
208
|
-
g.data(data[0], data[1])
|
209
|
-
end
|
210
|
-
|
211
|
-
g.rotation = 45 # degrees
|
212
|
-
g.write("test/output/spider_rotation.png")
|
213
|
-
end
|
214
|
-
|
215
|
-
protected
|
216
|
-
|
217
|
-
def setup_basic_graph(size=800, max = 20)
|
218
|
-
g = Gruff::Spider.new(max, size)
|
219
|
-
g.title = "My Graph Title"
|
220
|
-
@datasets.each do |data|
|
221
|
-
g.data(data[0], data[1])
|
222
|
-
end
|
223
|
-
return g
|
224
|
-
end
|
225
|
-
|
226
|
-
end
|
data/test/test_stacked_area.rb
DELETED
@@ -1,52 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby
|
2
|
-
|
3
|
-
require File.dirname(__FILE__) + '/gruff_test_case'
|
4
|
-
|
5
|
-
class TestGruffStackedArea < GruffTestCase
|
6
|
-
|
7
|
-
def setup
|
8
|
-
@datasets = [
|
9
|
-
[:Jimmy, [25, 36, 86, 39]],
|
10
|
-
[:Charles, [80, 54, 67, 54]],
|
11
|
-
[:Julie, [22, 29, 35, 38]],
|
12
|
-
]
|
13
|
-
@sample_labels = {
|
14
|
-
0 => '5/6',
|
15
|
-
1 => '5/15',
|
16
|
-
2 => '5/24'
|
17
|
-
}
|
18
|
-
|
19
|
-
end
|
20
|
-
|
21
|
-
def test_area_graph
|
22
|
-
g = Gruff::StackedArea.new
|
23
|
-
g.title = 'Visual Stacked Area Graph Test'
|
24
|
-
g.labels = {
|
25
|
-
0 => '5/6',
|
26
|
-
1 => '5/15',
|
27
|
-
2 => '5/24',
|
28
|
-
3 => '5/30',
|
29
|
-
}
|
30
|
-
@datasets.each do |data|
|
31
|
-
g.data(data[0], data[1])
|
32
|
-
end
|
33
|
-
g.write 'test/output/stacked_area_keynote.png'
|
34
|
-
end
|
35
|
-
|
36
|
-
|
37
|
-
def test_area_graph_small
|
38
|
-
g = Gruff::StackedArea.new(400)
|
39
|
-
g.title = 'Visual Stacked Area Graph Test'
|
40
|
-
g.labels = {
|
41
|
-
0 => '5/6',
|
42
|
-
1 => '5/15',
|
43
|
-
2 => '5/24',
|
44
|
-
3 => '5/30',
|
45
|
-
}
|
46
|
-
@datasets.each do |data|
|
47
|
-
g.data(data[0], data[1])
|
48
|
-
end
|
49
|
-
g.write 'test/output/stacked_area_keynote_small.png'
|
50
|
-
end
|
51
|
-
|
52
|
-
end
|
data/test/test_stacked_bar.rb
DELETED
@@ -1,68 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby
|
2
|
-
|
3
|
-
require File.dirname(__FILE__) + "/gruff_test_case"
|
4
|
-
|
5
|
-
class TestGruffStackedBar < GruffTestCase
|
6
|
-
|
7
|
-
def setup
|
8
|
-
@datasets = [
|
9
|
-
[:Jimmy, [25, 36, 86, 39]],
|
10
|
-
[:Charles, [80, 54, 67, 54]],
|
11
|
-
[:Julie, [22, 29, 35, 38]],
|
12
|
-
]
|
13
|
-
@sample_labels = {
|
14
|
-
0 => '5/6',
|
15
|
-
1 => '5/15',
|
16
|
-
2 => '5/24'
|
17
|
-
}
|
18
|
-
|
19
|
-
end
|
20
|
-
|
21
|
-
def test_bar_graph
|
22
|
-
g = Gruff::StackedBar.new
|
23
|
-
g.title = "Visual Stacked Bar Graph Test"
|
24
|
-
g.labels = {
|
25
|
-
0 => '5/6',
|
26
|
-
1 => '5/15',
|
27
|
-
2 => '5/24',
|
28
|
-
3 => '5/30',
|
29
|
-
}
|
30
|
-
@datasets.each do |data|
|
31
|
-
g.data(data[0], data[1])
|
32
|
-
end
|
33
|
-
g.write "test/output/stacked_bar_keynote.png"
|
34
|
-
end
|
35
|
-
|
36
|
-
|
37
|
-
def test_bar_graph_small
|
38
|
-
g = Gruff::StackedBar.new(400)
|
39
|
-
g.title = "Visual Stacked Bar Graph Test"
|
40
|
-
g.labels = {
|
41
|
-
0 => '5/6',
|
42
|
-
1 => '5/15',
|
43
|
-
2 => '5/24',
|
44
|
-
3 => '5/30',
|
45
|
-
}
|
46
|
-
@datasets.each do |data|
|
47
|
-
g.data(data[0], data[1])
|
48
|
-
end
|
49
|
-
g.write "test/output/stacked_bar_keynote_small.png"
|
50
|
-
end
|
51
|
-
|
52
|
-
def test_bar_graph_segment_spacing
|
53
|
-
g = Gruff::StackedBar.new
|
54
|
-
g.title = "Visual Stacked Bar Graph Test"
|
55
|
-
g.segment_spacing = 0
|
56
|
-
g.labels = {
|
57
|
-
0 => '5/6',
|
58
|
-
1 => '5/15',
|
59
|
-
2 => '5/24',
|
60
|
-
3 => '5/30',
|
61
|
-
}
|
62
|
-
@datasets.each do |data|
|
63
|
-
g.data(data[0], data[1])
|
64
|
-
end
|
65
|
-
g.write "test/output/stacked_bar_keynote_no_space.png"
|
66
|
-
end
|
67
|
-
|
68
|
-
end
|