svg-graph 1.0.5 → 2.0.1
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 +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: []
|