sparklines 0.4.3 → 0.4.4
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +14 -6
- data/Rakefile +6 -2
- data/lib/sparklines.rb +9 -5
- data/test/test_all.rb +21 -15
- metadata +1 -1
data/CHANGELOG
CHANGED
@@ -1,30 +1,38 @@
|
|
1
|
-
0.4.
|
1
|
+
== 0.4.4
|
2
|
+
|
3
|
+
* Fixed stddev rounding bug [Andrew Nutter-Upham]
|
4
|
+
|
5
|
+
== 0.4.3
|
6
|
+
|
7
|
+
* Minor change for use with Hoe.
|
8
|
+
|
9
|
+
== 0.4.2
|
2
10
|
|
3
11
|
* Added standard deviation bars [Andrew Nutter-Upham]
|
4
12
|
|
5
|
-
0.4.1
|
13
|
+
== 0.4.1
|
6
14
|
|
7
15
|
* Converted to Hoe for rakefile
|
8
16
|
* Added whisker graph [Luke Francl]
|
9
17
|
* General cleanup and bug fixes
|
10
18
|
* Experimental label option
|
11
19
|
|
12
|
-
0.3.0
|
20
|
+
== 0.3.0
|
13
21
|
|
14
22
|
* Changed to a Class for maintainability
|
15
23
|
* All values are normalized (except pie)
|
16
24
|
* A single value can be passed for the pie percentage (instead of an Array)
|
17
25
|
|
18
|
-
0.2.7
|
26
|
+
== 0.2.7
|
19
27
|
|
20
28
|
* Fixed bug where last element of bar graph wouldn't go to the bottom [Esad Hajdarevic esad@esse.at]
|
21
29
|
|
22
|
-
0.2.5
|
30
|
+
== 0.2.5
|
23
31
|
|
24
32
|
* Tests now use Test::Unit
|
25
33
|
* Bar type added
|
26
34
|
|
27
|
-
0.2.1
|
35
|
+
== 0.2.1
|
28
36
|
|
29
37
|
* Added line_color option for smooth graphs
|
30
38
|
* Now available as a gem ('gem install sparklines') and as a rails generator ('gem install sparklines_generator')
|
data/Rakefile
CHANGED
@@ -12,7 +12,11 @@ Hoe.new('Sparklines', Sparklines::VERSION) do |p|
|
|
12
12
|
p.summary = "Tiny graphs."
|
13
13
|
p.url = "http://nubyonrails.com/pages/sparklines"
|
14
14
|
p.clean_globs = ['test/output/*']
|
15
|
-
p.
|
16
|
-
|
15
|
+
p.remote_rdoc_dir = '' # Release to root
|
16
|
+
p.changes = p.paragraphs_of('CHANGELOG', 0..1).join("\n\n")
|
17
17
|
# * extra_deps - An array of rubygem dependencies.
|
18
18
|
end
|
19
|
+
|
20
|
+
|
21
|
+
desc "Release and publish documentation"
|
22
|
+
task :repubdoc => [:release, :publish_docs]
|
data/lib/sparklines.rb
CHANGED
@@ -74,7 +74,7 @@ Licensed under the MIT license.
|
|
74
74
|
=end
|
75
75
|
class Sparklines
|
76
76
|
|
77
|
-
VERSION = '0.4.
|
77
|
+
VERSION = '0.4.4'
|
78
78
|
|
79
79
|
@@label_margin = 5.0
|
80
80
|
@@pointsize = 10.0
|
@@ -513,11 +513,13 @@ class Sparklines
|
|
513
513
|
private
|
514
514
|
|
515
515
|
def normalize_data
|
516
|
-
@
|
516
|
+
@minumum_value = @data.min
|
517
|
+
@maximum_value = @data.max
|
518
|
+
abs_min = @minumum_value.abs
|
517
519
|
if @options[:type].to_s == 'pie'
|
518
520
|
@norm_data = @data
|
519
521
|
else
|
520
|
-
@norm_data = @data.map { |value| value = (value.to_f / @maximum_value) * 100.0 }
|
522
|
+
@norm_data = @data.map { |value| value = (value+abs_min).to_f / (@maximum_value+abs_min) * 100.0 }
|
521
523
|
end
|
522
524
|
end
|
523
525
|
|
@@ -595,10 +597,12 @@ private
|
|
595
597
|
#
|
596
598
|
def drawstddevbox(width,height,color)
|
597
599
|
mid=@norm_data.inject(0) {|sum,v| sum+=v}/@norm_data.size
|
598
|
-
std_dev = standard_deviation(@norm_data)
|
600
|
+
std_dev = standard_deviation(@norm_data)
|
601
|
+
lower = (height - 3 - (mid-std_dev)/(101.0/(height-4)))
|
602
|
+
upper = (height - 3 - (mid+std_dev)/(101.0/(height-4)))
|
599
603
|
@draw.stroke 'transparent'
|
600
604
|
@draw.fill(color)
|
601
|
-
@draw.rectangle(0,
|
605
|
+
@draw.rectangle(0, lower, width, upper)
|
602
606
|
end
|
603
607
|
|
604
608
|
def calculate_width(text)
|
data/test/test_all.rb
CHANGED
@@ -144,27 +144,33 @@ class SparklinesTest < Test::Unit::TestCase
|
|
144
144
|
end
|
145
145
|
|
146
146
|
def test_standard_deviation
|
147
|
-
# values = (1..100).map { |v| rand(100) }
|
148
|
-
#
|
149
|
-
# File.open("test.png","w+") do |f|
|
150
|
-
# f.puts Sparklines.plot(
|
151
|
-
# values,
|
152
|
-
# :type => 'smooth',
|
153
|
-
# :height => 100,
|
154
|
-
# :line_color => '#666',
|
155
|
-
# :has_std_dev => true,
|
156
|
-
# :std_dev_color => '#efffef'
|
157
|
-
# )
|
158
|
-
# end
|
159
|
-
|
160
147
|
quick_graph('standard_deviation', {
|
161
148
|
:type => 'smooth',
|
162
149
|
:height => 100,
|
163
150
|
:line_color => '#666',
|
164
151
|
:has_std_dev => true,
|
165
152
|
:std_dev_color => '#cccccc'
|
166
|
-
})
|
167
|
-
|
153
|
+
})
|
154
|
+
end
|
155
|
+
|
156
|
+
def test_standard_deviation_tall
|
157
|
+
quick_graph('standard_deviation_tall', {
|
158
|
+
:type => 'smooth',
|
159
|
+
:height => 300,
|
160
|
+
:line_color => '#666',
|
161
|
+
:has_std_dev => true,
|
162
|
+
:std_dev_color => '#cccccc'
|
163
|
+
})
|
164
|
+
end
|
165
|
+
|
166
|
+
def test_standard_deviation_short
|
167
|
+
quick_graph('standard_deviation_short', {
|
168
|
+
:type => 'smooth',
|
169
|
+
:height => 20,
|
170
|
+
:line_color => '#666',
|
171
|
+
:has_std_dev => true,
|
172
|
+
:std_dev_color => '#cccccc'
|
173
|
+
})
|
168
174
|
end
|
169
175
|
|
170
176
|
private
|