sqa 0.0.14 → 0.0.17

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,55 +0,0 @@
1
- # lib/patches/daru/plotting/svg-graph/category.rb
2
-
3
- # NOTE: Code originally from Gruff
4
- # TODO: Tailor the code to SvgGraph
5
-
6
- module Daru
7
- module Plotting
8
- module Category
9
- module SvgGraphLibrary
10
- def plot opts={}
11
- type = opts[:type] || :bar
12
- size = opts[:size] || 500
13
- case type
14
- when :bar, :pie, :sidebar
15
- plot = send("category_#{type}_plot".to_sym, size, opts[:method])
16
- else
17
- raise ArgumentError, 'This type of plot is not supported.'
18
- end
19
- yield plot if block_given?
20
- plot
21
- end
22
-
23
- private
24
-
25
- def category_bar_plot size, method
26
- plot = SvgGraph::Bar.new size
27
- method ||= :count
28
- dv = frequencies(method)
29
- plot.labels = size.times.to_a.zip(dv.index.to_a).to_h
30
- plot.data name || :vector, dv.to_a
31
- plot
32
- end
33
-
34
- def category_pie_plot size, method
35
- plot = SvgGraph::Pie.new size
36
- method ||= :count
37
- frequencies(method).each_with_index do |data, index|
38
- plot.data index, data
39
- end
40
- plot
41
- end
42
-
43
- def category_sidebar_plot size, method
44
- plot = SvgGraph::SideBar.new size
45
- plot.labels = {0 => (name.to_s || 'vector')}
46
- method ||= :count
47
- frequencies(method).each_with_index do |data, index|
48
- plot.data index, data
49
- end
50
- plot
51
- end
52
- end
53
- end
54
- end
55
- end
@@ -1,105 +0,0 @@
1
- # lib/patches/daru/plotting/svg-graph/dataframe.rb
2
-
3
- # NOTE: Code originally from Gruff
4
- # TODO: Tailor the code to SvgGraph
5
-
6
- module Daru
7
- module Plotting
8
- module DataFrame
9
- module SvgGraphLibrary
10
- def plot opts={}
11
- opts[:type] ||= :line
12
- opts[:size] ||= 500
13
-
14
- x = extract_x_vector opts[:x]
15
- y = extract_y_vectors opts[:y]
16
-
17
- opts[:type] = process_type opts[:type], opts[:categorized]
18
-
19
- type = opts[:type]
20
-
21
- if %o[line bar scatter].include? type
22
- graph = send("#{type}_plot", size, x, y)
23
-
24
- elsif :scatter_categorized == type
25
- graph = scatter_with_category(size, x, y, opts[:categorized])
26
-
27
- else
28
- raise ArgumentError, 'This type of plot is not supported.'
29
- end
30
-
31
- yield graph if block_given?
32
- graph
33
- end
34
-
35
- private
36
-
37
- def process_type type, categorized
38
- type == :scatter && categorized ? :scatter_categorized : type
39
- end
40
-
41
- ##########################################################
42
- def line_plot size, x, y
43
- plot = SvgGraph::Line.new size
44
- plot.labels = size.times.to_a.zip(x).to_h
45
- y.each do |vec|
46
- plot.data vec.name || :vector, vec.to_a
47
- end
48
- plot
49
- end
50
-
51
- ##########################################################
52
- def bar_plot size, x, y
53
- plot = SvgGraph::Bar.new size
54
- plot.labels = size.times.to_a.zip(x).to_h
55
- y.each do |vec|
56
- plot.data vec.name || :vector, vec.to_a
57
- end
58
- plot
59
- end
60
-
61
- ##########################################################
62
- def scatter_plot size, x, y
63
- plot = SvgGraph::Scatter.new size
64
- y.each do |vec|
65
- plot.data vec.name || :vector, x, vec.to_a
66
- end
67
- plot
68
- end
69
-
70
- ##########################################################
71
- def scatter_with_category size, x, y, opts
72
- x = Daru::Vector.new x
73
- y = y.first
74
- plot = SvgGraph::Scatter.new size
75
- cat_dv = self[opts[:by]]
76
-
77
- cat_dv.categories.each do |cat|
78
- bools = cat_dv.eq cat
79
- plot.data cat, x.where(bools).to_a, y.where(bools).to_a
80
- end
81
-
82
- plot
83
- end
84
-
85
- def extract_x_vector x_name
86
- x_name && self[x_name].to_a || index.to_a
87
- end
88
-
89
- def extract_y_vectors y_names
90
- y_names =
91
- case y_names
92
- when nil
93
- vectors.to_a
94
- when Array
95
- y_names
96
- else
97
- [y_names]
98
- end
99
-
100
- y_names.map { |y| self[y] }.select(&:numeric?)
101
- end
102
- end
103
- end
104
- end
105
- end
@@ -1,102 +0,0 @@
1
- # lib/patches/daru/plotting/svg-graph/vector.rb
2
-
3
- # NOTE: Code originally from Gruff
4
- # TODO: Tailor the code to SvgGraph
5
-
6
- module Daru
7
- module Plotting
8
- module Vector
9
- module SvgGraphLibrary
10
- def plot opts={}
11
- opts[:type] ||= :line
12
- opts[:size] ||= 500 # SMELL: What is this?
13
- opts[:height] ||= 720
14
- opts[:width] ||= 720
15
- opts[:title] ||= name || :vector
16
-
17
- debug_me{[
18
- :opts,
19
- :self
20
- ]}
21
-
22
- if %i[line bar pie scatter sidebar].include? type
23
- graph = send("#{type}_plot", opts)
24
- else
25
- raise ArgumentError, 'This type of plot is not supported.'
26
- end
27
-
28
- yield graph if block_given?
29
-
30
- graph
31
- end
32
-
33
- private
34
-
35
- ####################################################
36
- def line_plot opts={}
37
- graph = SVG::Graph::Line.new opts
38
-
39
- graph.add_data(
40
- data: to_a,
41
- title: opts[:title]
42
- )
43
-
44
- graph
45
- end
46
-
47
-
48
- ####################################################
49
- def bar_plot opts
50
- graph = SVG::Graph::Bar.new opts
51
-
52
- graph.add_data(
53
- data: to_a,
54
- title: opts[:title]
55
- )
56
-
57
- graph
58
- end
59
-
60
-
61
- ####################################################
62
- def pie_plot opts
63
- graph = SVG::Graph::Pie.new opts
64
-
65
- graph.add_data(
66
- data: to_a,
67
- title: opts[:title]
68
- )
69
-
70
- graph
71
- end
72
-
73
-
74
- ####################################################
75
- def scatter_plot size
76
- graph = SVG::Graph::Plot.new opts
77
-
78
-
79
- graph.add_data(
80
- data: to_a.zip(index.to_a)
81
- title: opts[:title]
82
- )
83
-
84
- graph
85
- end
86
-
87
-
88
- ####################################################
89
- def sidebar_plot size
90
- graph = SVG::Graph::BarHorizontal.new opts
91
-
92
- graph.add_data(
93
- data: to_a,
94
- title: opts[:title]
95
- )
96
-
97
- graph
98
- end
99
- end
100
- end
101
- end
102
- end
@@ -1,7 +0,0 @@
1
- # lib/patches/daru/plotting/svg-graph.rb
2
-
3
- require 'svg-graph'
4
-
5
- require_relative 'SvgGraph/category.rb'
6
- require_relative 'SvgGraph/vector.rb'
7
- require_relative 'SvgGraph/dataframe.rb'
@@ -1,19 +0,0 @@
1
- # lib/patches/daru/vector.rb
2
-
3
- module Daru
4
- module Vector
5
-
6
- def plotting_lig lib
7
- if :svg_graph = lib
8
- @plotting_library = lib
9
- if Daru.send("has_#{lib}?".to_sym)
10
- extend Module.const_get(
11
- "Daru::Plotting::Vector::#{lib.to_s.capitalize}Library"
12
- )
13
- end
14
- else
15
- super
16
- end
17
- end
18
- end
19
- end
data/lib/patches/daru.rb DELETED
@@ -1,19 +0,0 @@
1
- # lib/patches/daru.rb
2
-
3
- require_relative 'daru/category'
4
- require_relative 'daru/data_frame'
5
- require_relative 'daru/vector'
6
-
7
- module Daru
8
- create_has_library :svg_graph
9
-
10
- class << self
11
- def plotting_library lib
12
- if :svg_graph = lib
13
- @plotting_library = lib
14
- else
15
- super
16
- end
17
- end
18
- end
19
- end