gerbilcharts 0.6.8 → 0.7.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/lib/gerbilcharts/charts.rb
CHANGED
@@ -9,6 +9,7 @@ module GerbilCharts::Charts;end;
|
|
9
9
|
|
10
10
|
require 'gerbilcharts/charts/chart_base'
|
11
11
|
require 'gerbilcharts/charts/area_chart'
|
12
|
+
require 'gerbilcharts/charts/area_chart_table'
|
12
13
|
require 'gerbilcharts/charts/bar_chart_compact'
|
13
14
|
require 'gerbilcharts/charts/bar_chart'
|
14
15
|
require 'gerbilcharts/charts/impulse_chart'
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module GerbilCharts::Charts
|
2
|
+
|
3
|
+
|
4
|
+
# =Area Chart Table
|
5
|
+
# Same with detailed legend at bottom
|
6
|
+
#
|
7
|
+
class AreaChartTable < ChartBase
|
8
|
+
|
9
|
+
def initialize(opt={})
|
10
|
+
super(opt)
|
11
|
+
end
|
12
|
+
|
13
|
+
def create_chart_elements
|
14
|
+
|
15
|
+
# anchor (line surface)
|
16
|
+
@thechart.create_filter(GerbilCharts::SVGDC::LinearGradientVertical.new("vertgrad","rgb(255,255,255)","rgb(224,224,224)"))
|
17
|
+
|
18
|
+
# additional filter by name
|
19
|
+
@thechart.create_filter(GerbilCharts::SVGDC::LikeButton.new('LikeButton')) if @gerbilfilter == 'LikeButton'
|
20
|
+
|
21
|
+
# other elements
|
22
|
+
@thechart.add_child(GerbilCharts::Surfaces::SurfaceBackground.new(:orient => ORIENT_OVERLAY))
|
23
|
+
@thechart.add_child(GerbilCharts::Surfaces::BasicGrid.new(:orient => ORIENT_OVERLAY))
|
24
|
+
@thechart.add_child(GerbilCharts::Surfaces::TitlePanel.new(:orient => ORIENT_OVERLAY, :dim => 30))
|
25
|
+
@thechart.add_child(GerbilCharts::Surfaces::AreaSurface.new(:orient => ORIENT_OVERLAY),:anchor => true)
|
26
|
+
@thechart.add_child(GerbilCharts::Surfaces::DetailedLegend.new(:orient=> ORIENT_SOUTH, :dim => 80 , :always_visible => true ))
|
27
|
+
@thechart.add_child(GerbilCharts::Surfaces::VerticalAxis.new(:orient => ORIENT_WEST, :dim => 40 ))
|
28
|
+
@thechart.add_child(GerbilCharts::Surfaces::HorizontalTimeAxis.new(:orient => ORIENT_SOUTH, :dim => 25 ))
|
29
|
+
|
30
|
+
# optional features
|
31
|
+
if @feature_timetracker
|
32
|
+
@thechart.add_child(GerbilCharts::Surfaces::Tracker.new(:orient => ORIENT_OVERLAY ))
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
@@ -21,7 +21,7 @@ class DetailedLegend < GraphElement
|
|
21
21
|
|
22
22
|
def int_render(g)
|
23
23
|
|
24
|
-
|
24
|
+
|
25
25
|
|
26
26
|
if @always_visible
|
27
27
|
w=g.newwin("legendpanel_detail")
|
@@ -62,9 +62,8 @@ class DetailedLegend < GraphElement
|
|
62
62
|
rbox.bottom = rbox.top+10
|
63
63
|
|
64
64
|
|
65
|
-
|
66
65
|
stat_label_pos = rbox.right + STAT_TABLE_OFFSET
|
67
|
-
lab = %w(Max Min Avg Latest).inject("") { |m,ai| m += ai.rjust(9)}
|
66
|
+
lab = %w(Max Min Avg Latest Total).inject("") { |m,ai| m += ai.rjust(9)}
|
68
67
|
if @show_stats
|
69
68
|
g.textout(stat_label_pos, rbox.bottom-2, lab, {'xml:space' => 'preserve', :class => "legendstats"} )
|
70
69
|
end
|
@@ -72,6 +71,7 @@ class DetailedLegend < GraphElement
|
|
72
71
|
rbox.top += 16
|
73
72
|
rbox.bottom = rbox.top+10
|
74
73
|
|
74
|
+
|
75
75
|
parent.modelgroup.each_model_with_index do | mod, i|
|
76
76
|
|
77
77
|
# Adding tool tips
|
@@ -86,12 +86,14 @@ class DetailedLegend < GraphElement
|
|
86
86
|
g.textout(rbox.right+5, rbox.bottom-2, mod.name,opts)
|
87
87
|
|
88
88
|
stat_ana = mod.get_statistical_analysis
|
89
|
+
bucketsize = mod.respond_to?(:bucket_size_secs)? mod.bucket_size_secs: 1
|
89
90
|
|
90
91
|
stat_label_pos = rbox.right + STAT_TABLE_OFFSET
|
91
92
|
outs = mod.formatted_val(stat_ana[1]).to_s.rjust(9) +
|
92
93
|
mod.formatted_val(stat_ana[0]).to_s.rjust(9) +
|
93
94
|
mod.formatted_val(stat_ana[2]).to_s.rjust(9) +
|
94
|
-
mod.formatted_val(stat_ana[4]).to_s.rjust(9)
|
95
|
+
mod.formatted_val(stat_ana[4]).to_s.rjust(9) +
|
96
|
+
fmt_prefix_2(stat_ana[3]*bucketsize/8).to_s.rjust(9)
|
95
97
|
if @show_stats
|
96
98
|
g.textout(stat_label_pos, rbox.bottom-2, outs, {'xml:space' => 'preserve', :class => 'legendstats'} )
|
97
99
|
end
|
@@ -114,6 +116,32 @@ class DetailedLegend < GraphElement
|
|
114
116
|
@bounds.left = @bounds.right - @width
|
115
117
|
end
|
116
118
|
end
|
119
|
+
|
120
|
+
# format for volumes
|
121
|
+
def fmt_prefix_2 raw_value
|
122
|
+
units_str = [
|
123
|
+
[1099511627776.0,"T","%.2f%s"],
|
124
|
+
[1073741824.0, "G","%.2f%s"],
|
125
|
+
[1048576.0, "M","%.2f%s"],
|
126
|
+
[1024.0, "K","%.2f%s"],
|
127
|
+
[1, "", "%d %s"],
|
128
|
+
[1e-03, "m","%.3f %s"],
|
129
|
+
[1e-06, "u","%.3f %s"],
|
130
|
+
[1e-09, "n","%.3f %s"],
|
131
|
+
[1e-12, "p","%.3f %s"],
|
132
|
+
]
|
133
|
+
|
134
|
+
return "0" if raw_value == 0
|
135
|
+
|
136
|
+
units_str.each do |unit|
|
137
|
+
if raw_value >= unit[0]
|
138
|
+
retval = raw_value / unit[0]
|
139
|
+
return format(unit[2], retval, unit[1])
|
140
|
+
end
|
141
|
+
end
|
142
|
+
return raw_value.to_s
|
143
|
+
end
|
144
|
+
|
117
145
|
end
|
118
146
|
end
|
119
147
|
|
metadata
CHANGED
@@ -1,91 +1,92 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: gerbilcharts
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
6
|
-
- 0
|
7
|
-
- 6
|
8
|
-
- 8
|
9
|
-
version: 0.6.8
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.7.0
|
5
|
+
prerelease:
|
10
6
|
platform: ruby
|
11
|
-
authors:
|
7
|
+
authors:
|
12
8
|
- vivek
|
13
9
|
autorequire:
|
14
10
|
bindir: bin
|
15
11
|
cert_chain: []
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
dependencies:
|
20
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2013-03-07 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
21
15
|
name: shoulda
|
22
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
23
17
|
none: false
|
24
|
-
requirements:
|
25
|
-
- -
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
|
28
|
-
- 0
|
29
|
-
version: "0"
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
30
22
|
type: :development
|
31
23
|
prerelease: false
|
32
|
-
version_requirements:
|
33
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
34
31
|
name: bundler
|
35
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
36
33
|
none: false
|
37
|
-
requirements:
|
38
|
-
- -
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
|
41
|
-
- 1
|
42
|
-
- 0
|
43
|
-
- 0
|
44
|
-
version: 1.0.0
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
45
38
|
type: :development
|
46
39
|
prerelease: false
|
47
|
-
version_requirements:
|
48
|
-
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
49
47
|
name: jeweler
|
50
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
51
49
|
none: false
|
52
|
-
requirements:
|
53
|
-
- -
|
54
|
-
- !ruby/object:Gem::Version
|
55
|
-
|
56
|
-
- 1
|
57
|
-
- 5
|
58
|
-
- 2
|
59
|
-
version: 1.5.2
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
60
54
|
type: :development
|
61
55
|
prerelease: false
|
62
|
-
version_requirements:
|
63
|
-
- !ruby/object:Gem::Dependency
|
64
|
-
name: rcov
|
65
|
-
requirement: &id004 !ruby/object:Gem::Requirement
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
57
|
none: false
|
67
|
-
requirements:
|
68
|
-
- -
|
69
|
-
- !ruby/object:Gem::Version
|
70
|
-
|
71
|
-
|
72
|
-
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: simplecov
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
73
70
|
type: :development
|
74
71
|
prerelease: false
|
75
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
76
78
|
description: Gerbilcharts is a server side charting library that outputs SVG text
|
77
79
|
email: vivek_rajagopal@yahoo.com
|
78
80
|
executables: []
|
79
|
-
|
80
81
|
extensions: []
|
81
|
-
|
82
|
-
extra_rdoc_files:
|
82
|
+
extra_rdoc_files:
|
83
83
|
- LICENSE.txt
|
84
84
|
- README.rdoc
|
85
|
-
files:
|
85
|
+
files:
|
86
86
|
- lib/gerbilcharts.rb
|
87
87
|
- lib/gerbilcharts/charts.rb
|
88
88
|
- lib/gerbilcharts/charts/area_chart.rb
|
89
|
+
- lib/gerbilcharts/charts/area_chart_table.rb
|
89
90
|
- lib/gerbilcharts/charts/bar_chart.rb
|
90
91
|
- lib/gerbilcharts/charts/bar_chart_compact.rb
|
91
92
|
- lib/gerbilcharts/charts/bubble_chart.rb
|
@@ -164,38 +165,32 @@ files:
|
|
164
165
|
- lib/gerbilcharts/version.rb
|
165
166
|
- LICENSE.txt
|
166
167
|
- README.rdoc
|
167
|
-
has_rdoc: true
|
168
168
|
homepage: http://github.com/vivekrajan/gerbilcharts
|
169
|
-
licenses:
|
169
|
+
licenses:
|
170
170
|
- MIT
|
171
171
|
post_install_message:
|
172
172
|
rdoc_options: []
|
173
|
-
|
174
|
-
require_paths:
|
173
|
+
require_paths:
|
175
174
|
- lib
|
176
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
175
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
177
176
|
none: false
|
178
|
-
requirements:
|
179
|
-
- -
|
180
|
-
- !ruby/object:Gem::Version
|
181
|
-
|
182
|
-
segments:
|
177
|
+
requirements:
|
178
|
+
- - ! '>='
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
181
|
+
segments:
|
183
182
|
- 0
|
184
|
-
|
185
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
183
|
+
hash: 1136062034129104066
|
184
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
186
185
|
none: false
|
187
|
-
requirements:
|
188
|
-
- -
|
189
|
-
- !ruby/object:Gem::Version
|
190
|
-
|
191
|
-
- 0
|
192
|
-
version: "0"
|
186
|
+
requirements:
|
187
|
+
- - ! '>='
|
188
|
+
- !ruby/object:Gem::Version
|
189
|
+
version: '0'
|
193
190
|
requirements: []
|
194
|
-
|
195
191
|
rubyforge_project:
|
196
|
-
rubygems_version: 1.
|
192
|
+
rubygems_version: 1.8.23
|
197
193
|
signing_key:
|
198
194
|
specification_version: 3
|
199
195
|
summary: SVG timeseries charting
|
200
196
|
test_files: []
|
201
|
-
|