svg-graph 1.0.5 → 2.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/History.txt +18 -0
- data/README.markdown +90 -6
- data/Rakefile +26 -14
- data/lib/SVG/Graph/Bar.rb +2 -2
- data/lib/SVG/Graph/BarBase.rb +25 -24
- data/lib/SVG/Graph/BarHorizontal.rb +1 -1
- data/lib/SVG/Graph/ErrBar.rb +189 -0
- data/lib/SVG/Graph/Graph.rb +141 -64
- data/lib/SVG/Graph/Line.rb +1 -1
- data/lib/SVG/Graph/Pie.rb +76 -49
- data/lib/SVG/Graph/Plot.rb +2 -2
- data/lib/SVG/Graph/Schedule.rb +18 -19
- data/lib/SVG/Graph/TimeSeries.rb +26 -22
- data/lib/svggraph.rb +12 -10
- data/test/test_svg_graph.rb +48 -6
- metadata +41 -136
- data.tar.gz.sig +0 -2
- data/Manifest.txt +0 -56
- data/build.xml +0 -143
- data/dist.xml.in +0 -46
- data/images/bar.png +0 -0
- data/images/bar.svg +0 -76
- data/images/bar.svgz +0 -0
- data/images/barhorizontal.png +0 -0
- data/images/barhorizontal.svg +0 -76
- data/images/barhorizontal.svgz +0 -0
- data/images/line.png +0 -0
- data/images/line.svg +0 -80
- data/images/line.svgz +0 -0
- data/images/pie.png +0 -0
- data/images/pie.svg +0 -70
- data/images/pie.svgz +0 -0
- data/images/plot.png +0 -0
- data/images/plot.svg +0 -131
- data/images/plot.svgz +0 -0
- data/images/schedule.png +0 -0
- data/images/schedule.svg +0 -67
- data/images/timeseries.png +0 -0
- data/images/timeseries.svg +0 -179
- data/images/timeseries.svgz +0 -0
- data/index.xml +0 -281
- data/install.rb +0 -161
- data/screenshots.xml +0 -148
- data/style/common.xsl +0 -37
- data/style/release_html.xsl +0 -169
- data/style/release_txt.xsl +0 -25
- data/svg-graph.gemspec +0 -58
- data/test/data.txt +0 -4
- data/test/plot.rb +0 -51
- data/test/schedule.rb +0 -43
- data/test/single.rb +0 -33
- data/test/test.rb +0 -54
- data/test/test_data_point.rb +0 -67
- data/test/test_plot.rb +0 -282
- data/test/timeseries.rb +0 -58
- metadata.gz.sig +0 -1
data/lib/SVG/Graph/Plot.rb
CHANGED
data/lib/SVG/Graph/Schedule.rb
CHANGED
@@ -1,8 +1,5 @@
|
|
1
|
-
require '
|
2
|
-
|
3
|
-
if not TIME_PARSE_AVAIL then
|
4
|
-
require 'parsedate'
|
5
|
-
end
|
1
|
+
require 'date'
|
2
|
+
require_relative 'Plot'
|
6
3
|
|
7
4
|
module SVG
|
8
5
|
module Graph
|
@@ -132,14 +129,23 @@ module SVG
|
|
132
129
|
# graph.add_data(
|
133
130
|
# :data => d1,
|
134
131
|
# :title => 'Meetings'
|
132
|
+
# :template => '%H:%M'
|
135
133
|
# )
|
136
134
|
# graph.add_data(
|
137
135
|
# :data => d2,
|
138
136
|
# :title => 'Plays'
|
137
|
+
# :template => '%d/%m/%y'
|
139
138
|
# )
|
140
139
|
#
|
141
140
|
# Note that the data must be in time,value pairs, and that the date format
|
142
|
-
# may be any date that is parseable by
|
141
|
+
# may be any date that is parseable by DateTime#parse, DateTime#strptime.
|
142
|
+
# The :template argument is optional. By default DateTime#parse will be used.
|
143
|
+
# Checkout the ruby doc for valit template notation:
|
144
|
+
# http://ruby-doc.org/stdlib-2.3.1/libdoc/date/rdoc/Date.html#method-i-strftime
|
145
|
+
# http://ruby-doc.org/stdlib-2.3.1/libdoc/date/rdoc/DateTime.html#method-c-parse
|
146
|
+
# http://ruby-doc.org/stdlib-2.3.1/libdoc/date/rdoc/DateTime.html#method-c-strptime.
|
147
|
+
#
|
148
|
+
#
|
143
149
|
# Also note that, in this example, we're mixing scales; the data from d1
|
144
150
|
# will probably not be discernable if both data sets are plotted on the same
|
145
151
|
# graph, since d1 is too granular.
|
@@ -153,7 +159,6 @@ module SVG
|
|
153
159
|
"data points" unless data[:data].length % 3 == 0
|
154
160
|
return if data[:data].length == 0
|
155
161
|
|
156
|
-
|
157
162
|
y = []
|
158
163
|
x_start = []
|
159
164
|
x_end = []
|
@@ -162,13 +167,12 @@ module SVG
|
|
162
167
|
if im3 == 0
|
163
168
|
y << data[:data][i]
|
164
169
|
else
|
165
|
-
if
|
166
|
-
arr = DateTime.
|
167
|
-
t = arr.to_time
|
170
|
+
if data.has_key?(:template) && data[:template].kind_of?(String)
|
171
|
+
arr = DateTime.strptime(data[:data][i], data[:template])
|
168
172
|
else
|
169
|
-
arr =
|
170
|
-
t = Time.local( *arr[0,6].compact )
|
173
|
+
arr = DateTime.parse(data[:data][i])
|
171
174
|
end
|
175
|
+
t = arr.to_time
|
172
176
|
(im3 == 1 ? x_start : x_end) << t.to_i
|
173
177
|
end
|
174
178
|
}
|
@@ -180,13 +184,8 @@ module SVG
|
|
180
184
|
protected
|
181
185
|
|
182
186
|
def min_x_value=(value)
|
183
|
-
|
184
|
-
|
185
|
-
t = arr.to_time
|
186
|
-
else
|
187
|
-
arr = ParseDate.parsedate( value )
|
188
|
-
t = Time.local( *arr[0,6].compact )
|
189
|
-
end
|
187
|
+
arr = Time.parse(value)
|
188
|
+
t = arr.to_time
|
190
189
|
@min_x_value = t.to_i
|
191
190
|
end
|
192
191
|
|
data/lib/SVG/Graph/TimeSeries.rb
CHANGED
@@ -1,8 +1,5 @@
|
|
1
|
-
require '
|
2
|
-
|
3
|
-
if not TIME_PARSE_AVAIL then
|
4
|
-
require 'parsedate'
|
5
|
-
end
|
1
|
+
require 'date'
|
2
|
+
require_relative 'Plot'
|
6
3
|
|
7
4
|
module SVG
|
8
5
|
module Graph
|
@@ -13,7 +10,7 @@ module SVG
|
|
13
10
|
# require 'SVG/Graph/TimeSeries'
|
14
11
|
#
|
15
12
|
# # Data sets are x,y pairs
|
16
|
-
# projection = ["6/17/72", 11, "1/11/72", 7, "4/13/04
|
13
|
+
# projection = ["6/17/72", 11, "1/11/72", 7, "4/13/04", 11,
|
17
14
|
# "9/11/01", 9, "9/1/85", 2, "9/1/88", 1, "1/15/95", 13]
|
18
15
|
# actual = ["8/1/73", 18, "3/1/77", 15, "10/1/98", 4,
|
19
16
|
# "5/1/02", 14, "3/1/95", 6, "8/1/91", 12, "12/1/87", 6,
|
@@ -30,8 +27,8 @@ module SVG
|
|
30
27
|
# :key => true,
|
31
28
|
# :scale_x_integers => true,
|
32
29
|
# :scale_y_integers => true,
|
33
|
-
# :min_x_value => 0,
|
34
|
-
# :min_y_value => 0,
|
30
|
+
# :min_x_value => 0, # Integer, Time, or parseable by DateTime#parse
|
31
|
+
# :min_y_value => 0, # Integer, Time, or parseable by DateTime#parse
|
35
32
|
# :show_data_values => true,
|
36
33
|
# :show_x_guidelines => true,
|
37
34
|
# :show_x_title => true,
|
@@ -44,13 +41,15 @@ module SVG
|
|
44
41
|
# })
|
45
42
|
#
|
46
43
|
# graph.add_data({
|
47
|
-
#
|
44
|
+
# :data => projection,
|
48
45
|
# :title => 'Projected',
|
46
|
+
# :template => '%d/%m/%y'
|
49
47
|
# })
|
50
48
|
#
|
51
49
|
# graph.add_data({
|
52
|
-
#
|
50
|
+
# :data => actual,
|
53
51
|
# :title => 'Actual',
|
52
|
+
# :template => '%d/%m/%y'
|
54
53
|
# })
|
55
54
|
#
|
56
55
|
# print graph.burn()
|
@@ -81,7 +80,7 @@ module SVG
|
|
81
80
|
# and that the data in the datasets needn't be in order; they will be ordered
|
82
81
|
# by the plot along the X-axis.
|
83
82
|
#
|
84
|
-
# The dates must be parseable by
|
83
|
+
# The dates must be parseable by DateTime#parse or DateTime#strptime, but otherwise can be
|
85
84
|
# any order of magnitude (seconds within the hour, or years)
|
86
85
|
#
|
87
86
|
# = See also
|
@@ -138,31 +137,37 @@ module SVG
|
|
138
137
|
# # ("14:20",6)
|
139
138
|
# graph.add_data(
|
140
139
|
# :data => d1,
|
141
|
-
# :title => 'One'
|
140
|
+
# :title => 'One',
|
141
|
+
# :template => '%H:%M'
|
142
142
|
# )
|
143
143
|
# graph.add_data(
|
144
144
|
# :data => d2,
|
145
|
-
# :title => 'Two'
|
145
|
+
# :title => 'Two',
|
146
|
+
# :template => '%H:%M'
|
146
147
|
# )
|
147
148
|
#
|
148
149
|
# Note that the data must be in time,value pairs. The time may be any date in
|
149
150
|
# a format that is parseable by ParseDate, a Time object, or a number of seconds
|
150
151
|
# after the unix epoch.
|
151
152
|
def add_data data
|
153
|
+
@time_template = data[:template]
|
152
154
|
data[:data].each_index do |i|
|
153
155
|
data[:data][i] = parse_time(data[:data][i]).to_i if i % 2 == 0
|
154
156
|
end
|
157
|
+
@time_template = nil # reset for the next data series
|
155
158
|
super(data)
|
156
159
|
end
|
157
160
|
|
158
161
|
|
159
162
|
protected
|
160
163
|
|
164
|
+
|
161
165
|
def min_x_value=(value)
|
162
166
|
t = parse_time(value)
|
163
167
|
@min_x_value = t.to_i
|
164
168
|
end
|
165
169
|
|
170
|
+
# value should be
|
166
171
|
def max_x_value=(value)
|
167
172
|
t = parse_time(value)
|
168
173
|
@max_x_value = t.to_i
|
@@ -190,12 +195,10 @@ module SVG
|
|
190
195
|
when Time
|
191
196
|
return time
|
192
197
|
when String
|
193
|
-
if
|
194
|
-
|
195
|
-
return arr.to_time
|
198
|
+
if @time_template.kind_of? String
|
199
|
+
return DateTime.strptime(time, @time_template).to_time
|
196
200
|
else
|
197
|
-
|
198
|
-
return Time.local( *arr[0,6].compact )
|
201
|
+
return DateTime.parse(time).to_time
|
199
202
|
end
|
200
203
|
when Integer
|
201
204
|
return Time.at(time)
|
@@ -252,7 +255,8 @@ module SVG
|
|
252
255
|
end
|
253
256
|
min.step( max, scale_division ) {|v| rv << v}
|
254
257
|
return rv
|
255
|
-
end
|
256
|
-
|
257
|
-
|
258
|
-
end
|
258
|
+
end # get_x_values
|
259
|
+
|
260
|
+
end # class TimeSeries
|
261
|
+
end # module Graph
|
262
|
+
end # module SVG
|
data/lib/svggraph.rb
CHANGED
@@ -1,14 +1,16 @@
|
|
1
1
|
module SVG
|
2
2
|
module Graph
|
3
|
-
VERSION = '
|
4
|
-
autoload(:Bar, 'SVG/Graph/Bar')
|
5
|
-
autoload(:BarBase, 'SVG/Graph/BarBase')
|
6
|
-
autoload(:BarHorizontal, 'SVG/Graph/BarHorizontal')
|
7
|
-
autoload(:Line, 'SVG/Graph/Line')
|
8
|
-
autoload(:Pie, 'SVG/Graph/Pie')
|
9
|
-
autoload(:Plot, 'SVG/Graph/Plot')
|
10
|
-
autoload(:Schedule, 'SVG/Graph/Schedule')
|
11
|
-
autoload(:TimeSeries, 'SVG/Graph/TimeSeries')
|
12
|
-
autoload(:DataPoint, 'SVG/Graph/DataPoint')
|
3
|
+
VERSION = '2.0.1'
|
13
4
|
end
|
14
5
|
end
|
6
|
+
require_relative 'SVG/Graph/DataPoint'
|
7
|
+
require_relative 'SVG/Graph/BarBase'
|
8
|
+
require_relative 'SVG/Graph/Graph'
|
9
|
+
require_relative 'SVG/Graph/Bar'
|
10
|
+
require_relative 'SVG/Graph/BarHorizontal'
|
11
|
+
require_relative 'SVG/Graph/ErrBar'
|
12
|
+
require_relative 'SVG/Graph/Line'
|
13
|
+
require_relative 'SVG/Graph/Pie'
|
14
|
+
require_relative 'SVG/Graph/Plot'
|
15
|
+
require_relative 'SVG/Graph/Schedule'
|
16
|
+
require_relative 'SVG/Graph/TimeSeries'
|
data/test/test_svg_graph.rb
CHANGED
@@ -1,9 +1,14 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
require
|
4
|
-
require
|
1
|
+
require_relative '../lib/svggraph'
|
2
|
+
require_relative '../lib/SVG/Graph/DataPoint'
|
3
|
+
require 'minitest/autorun'
|
4
|
+
require 'minitest/reporters'
|
5
|
+
|
6
|
+
reporter_options = { :color => true }
|
7
|
+
Minitest::Reporters.use! [Minitest::Reporters::DefaultReporter.new(reporter_options)]
|
8
|
+
|
9
|
+
|
10
|
+
class TestSvgGraph < Minitest::Test
|
5
11
|
|
6
|
-
class TestSvgGraph < Test::Unit::TestCase
|
7
12
|
def test_bar_line_and_pie
|
8
13
|
fields = %w(Jan Feb Mar);
|
9
14
|
data_sales_02 = [12, 45, 21]
|
@@ -21,6 +26,43 @@ class TestSvgGraph < Test::Unit::TestCase
|
|
21
26
|
out=graph.burn
|
22
27
|
assert(out=~/Created with SVG::Graph/)
|
23
28
|
end
|
24
|
-
end
|
29
|
+
end # test_bar_line_and_pie
|
30
|
+
|
31
|
+
def test_pie_100_percent
|
32
|
+
fields = %w(Internet TV Newspaper Magazine Radio)
|
33
|
+
#data1 = [2, 3, 1, 3, 1]
|
34
|
+
#data2 = [0, 2, 1, 5, 4]
|
35
|
+
data1 = [0, 3, 0, 0, 0]
|
36
|
+
data2 = [0, 6, 0, 0, 0]
|
37
|
+
|
38
|
+
graph = SVG::Graph::Pie.new(
|
39
|
+
:height => 500,
|
40
|
+
:width => 300,
|
41
|
+
:fields => fields,
|
42
|
+
:graph_title => "100% pie",
|
43
|
+
:show_graph_title => true,
|
44
|
+
:show_data_labels => true,
|
45
|
+
:show_x_guidelines => true,
|
46
|
+
:show_x_title => true,
|
47
|
+
:x_title => "Time"
|
48
|
+
)
|
49
|
+
graph.add_data(
|
50
|
+
:data => data1,
|
51
|
+
:title => 'data1'
|
52
|
+
)
|
53
|
+
|
54
|
+
graph.add_data(
|
55
|
+
:data => data2,
|
56
|
+
:title => 'data2'
|
57
|
+
)
|
58
|
+
out = graph.burn
|
59
|
+
File.open("pie_100.svg", "w") {|fout|
|
60
|
+
fout.print( out )
|
61
|
+
}
|
62
|
+
assert_match(/TV 100%/, out, "100% text not found in graph")
|
63
|
+
assert_match(/circle/, out, "no circle was found in graph")
|
64
|
+
|
65
|
+
end # test_pie_100_percent
|
66
|
+
|
25
67
|
end
|
26
68
|
|
metadata
CHANGED
@@ -1,118 +1,49 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: svg-graph
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease: false
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 0
|
9
|
-
- 5
|
10
|
-
version: 1.0.5
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.0.1
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- Sean Russell
|
14
8
|
- Claudio Bustos
|
15
9
|
- Liehann Loots
|
16
10
|
- Piergiuliano Bossi
|
11
|
+
- Manuel Widmer
|
17
12
|
autorequire:
|
18
13
|
bindir: bin
|
19
|
-
cert_chain:
|
20
|
-
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
at1/mh9JpqawPrcjIOVMj4BIp67vmzJCaUf+S/H2uYtSO09F+YQE3tv85TPeRmqU
|
30
|
-
yjyXyTc/oJiw1cXskUL8UtMWZmrwNLHXuZWWIMzkjiz3UNdhJr/t5ROk8S2WPznl
|
31
|
-
0bMy/PMIlAbqWolRn1zl2VFJ3TaXScbqImY8Wf4g62b/1ZSUlGrtnLNsCYXrWiso
|
32
|
-
UPUCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFGu9
|
33
|
-
rrJ1H64qRmNNu3Jj/Qjvh0u5MA0GCSqGSIb3DQEBBQUAA4IBAQCV0Unka5isrhZk
|
34
|
-
GjqSDqY/6hF+G2pbFcbWUpjmC8NWtAxeC+7NGV3ljd0e1SLfoyBj4gnFtFmY8qX4
|
35
|
-
K02tgSZM0eDV8TpgFpWXzK6LzHvoanuahHLZEtk/+Z885lFene+nHadkem1n9iAB
|
36
|
-
cs96JO9/JfFyuXM27wFAwmfHCmJfPF09R4VvGHRAvb8MGzSVgk2i06OJTqkBTwvv
|
37
|
-
JHJdoyw3+8bw9RJ+jLaNoQ+xu+1pQdS2bb3m7xjZpufml/m8zFCtjYM/7qgkKR8z
|
38
|
-
/ZZt8lCiKfFArppRrZayE2FVsps4X6WwBdrKTMZ0CKSXTRctbEj1BAZ67eoTvBBt
|
39
|
-
rpP0jjs0
|
40
|
-
-----END CERTIFICATE-----
|
41
|
-
|
42
|
-
date: 2011-10-03 00:00:00 -03:00
|
43
|
-
default_executable:
|
44
|
-
dependencies:
|
45
|
-
- !ruby/object:Gem::Dependency
|
46
|
-
name: hoe
|
47
|
-
prerelease: false
|
48
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
51
|
-
- - ">="
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
hash: 47
|
54
|
-
segments:
|
55
|
-
- 2
|
56
|
-
- 8
|
57
|
-
- 0
|
58
|
-
version: 2.8.0
|
59
|
-
type: :development
|
60
|
-
version_requirements: *id001
|
61
|
-
description: |-
|
62
|
-
This is a revision of the [SVG::Graph library](http://www.germane-software.com/software/SVG/SVG::Graph/) by Sean Russell with touch-ups to make it run on Ruby 1.9.x and be gem-installable. See History.txt for other changes
|
63
|
-
|
64
|
-
SVG:::Graph is a pure Ruby library for generating charts, which are a type of graph where the values of one axis are not scalar. SVG::Graph has a verry similar API to the Perl library SVG::TT::Graph, and the resulting charts also look the same. This isn't surprising, because SVG::Graph started as a loose port of SVG::TT::Graph, although the internal code no longer resembles the Perl original at all.
|
65
|
-
email:
|
14
|
+
cert_chain: []
|
15
|
+
date: 2016-08-08 00:00:00.000000000 Z
|
16
|
+
dependencies: []
|
17
|
+
description: "Gem version of SVG:::Graph. SVG:::Graph is a pure Ruby library for generating
|
18
|
+
charts, \nwhich are a type of graph where the values of one axis are not scalar.
|
19
|
+
SVG::Graph has a verry similar API to \nthe Perl library SVG::TT::Graph, and the
|
20
|
+
resulting charts also look the same. This isn't surprising, \nbecause SVG::Graph
|
21
|
+
started as a loose port of SVG::TT::Graph, although the internal code no longer
|
22
|
+
resembles \nthe Perl original at all.\n "
|
23
|
+
email:
|
66
24
|
- ser_AT_germane-software.com
|
67
25
|
- clbustos_AT_gmail.com
|
68
|
-
-
|
69
|
-
-
|
26
|
+
- liehannl_AT_gmail_DOT_com
|
27
|
+
- pgbossi_AT_gmail_DOT_com
|
28
|
+
- m-widmer_AT_gmx_DOT_ch
|
70
29
|
executables: []
|
71
|
-
|
72
30
|
extensions: []
|
73
|
-
|
74
|
-
extra_rdoc_files:
|
75
|
-
- GPL.txt
|
76
|
-
- History.txt
|
31
|
+
extra_rdoc_files:
|
77
32
|
- LICENSE.txt
|
78
|
-
-
|
33
|
+
- README.markdown
|
79
34
|
- README.txt
|
80
|
-
files:
|
35
|
+
files:
|
81
36
|
- GPL.txt
|
82
37
|
- History.txt
|
83
38
|
- LICENSE.txt
|
84
|
-
- Manifest.txt
|
85
39
|
- README.markdown
|
86
40
|
- README.txt
|
87
41
|
- Rakefile
|
88
|
-
- build.xml
|
89
|
-
- dist.xml.in
|
90
|
-
- images/bar.png
|
91
|
-
- images/bar.svg
|
92
|
-
- images/bar.svgz
|
93
|
-
- images/barhorizontal.png
|
94
|
-
- images/barhorizontal.svg
|
95
|
-
- images/barhorizontal.svgz
|
96
|
-
- images/line.png
|
97
|
-
- images/line.svg
|
98
|
-
- images/line.svgz
|
99
|
-
- images/pie.png
|
100
|
-
- images/pie.svg
|
101
|
-
- images/pie.svgz
|
102
|
-
- images/plot.png
|
103
|
-
- images/plot.svg
|
104
|
-
- images/plot.svgz
|
105
|
-
- images/schedule.png
|
106
|
-
- images/schedule.svg
|
107
|
-
- images/timeseries.png
|
108
|
-
- images/timeseries.svg
|
109
|
-
- images/timeseries.svgz
|
110
|
-
- index.xml
|
111
|
-
- install.rb
|
112
42
|
- lib/SVG/Graph/Bar.rb
|
113
43
|
- lib/SVG/Graph/BarBase.rb
|
114
44
|
- lib/SVG/Graph/BarHorizontal.rb
|
115
45
|
- lib/SVG/Graph/DataPoint.rb
|
46
|
+
- lib/SVG/Graph/ErrBar.rb
|
116
47
|
- lib/SVG/Graph/Graph.rb
|
117
48
|
- lib/SVG/Graph/Line.rb
|
118
49
|
- lib/SVG/Graph/Pie.rb
|
@@ -120,56 +51,30 @@ files:
|
|
120
51
|
- lib/SVG/Graph/Schedule.rb
|
121
52
|
- lib/SVG/Graph/TimeSeries.rb
|
122
53
|
- lib/svggraph.rb
|
123
|
-
- screenshots.xml
|
124
|
-
- style/common.xsl
|
125
|
-
- style/release_html.xsl
|
126
|
-
- style/release_txt.xsl
|
127
|
-
- svg-graph.gemspec
|
128
|
-
- test/data.txt
|
129
|
-
- test/plot.rb
|
130
|
-
- test/schedule.rb
|
131
|
-
- test/single.rb
|
132
|
-
- test/test.rb
|
133
|
-
- test/test_data_point.rb
|
134
|
-
- test/test_plot.rb
|
135
54
|
- test/test_svg_graph.rb
|
136
|
-
- test/timeseries.rb
|
137
|
-
has_rdoc: true
|
138
55
|
homepage: http://www.germane-software.com/software/SVG/SVG::Graph/
|
139
|
-
licenses:
|
140
|
-
|
56
|
+
licenses:
|
57
|
+
- GPL
|
58
|
+
metadata: {}
|
141
59
|
post_install_message:
|
142
|
-
rdoc_options:
|
143
|
-
|
144
|
-
- README.txt
|
145
|
-
require_paths:
|
60
|
+
rdoc_options: []
|
61
|
+
require_paths:
|
146
62
|
- lib
|
147
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
148
|
-
|
149
|
-
requirements:
|
63
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
150
65
|
- - ">="
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
version: "0"
|
156
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
157
|
-
none: false
|
158
|
-
requirements:
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '0'
|
68
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
69
|
+
requirements:
|
159
70
|
- - ">="
|
160
|
-
- !ruby/object:Gem::Version
|
161
|
-
|
162
|
-
segments:
|
163
|
-
- 0
|
164
|
-
version: "0"
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: '0'
|
165
73
|
requirements: []
|
166
|
-
|
167
|
-
|
168
|
-
rubygems_version: 1.3.7
|
74
|
+
rubyforge_project:
|
75
|
+
rubygems_version: 2.4.8
|
169
76
|
signing_key:
|
170
|
-
specification_version:
|
171
|
-
summary:
|
172
|
-
|
173
|
-
|
174
|
-
- test/test_svg_graph.rb
|
175
|
-
- test/test_plot.rb
|
77
|
+
specification_version: 4
|
78
|
+
summary: SVG:::Graph is a pure Ruby library for generating charts, which are a type
|
79
|
+
of graph where the values of one axis are not scalar.
|
80
|
+
test_files: []
|