ruby-mext 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/mext/math/expon.rb +4 -0
- data/lib/mext/math/function.rb +10 -0
- data/lib/mext/math/line.rb +4 -0
- data/lib/tasks/gruff/expon.rake +5 -7
- data/lib/tasks/gruff/gruff.rake +11 -1
- data/lib/tasks/gruff/gruff_plot.rb +13 -5
- data/lib/tasks/gruff/line.rake +18 -0
- data/lib/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '03508612b0d517d9d7e3928a1cee1cfecbeb65a3482351e7c40446de27b1b9de'
|
4
|
+
data.tar.gz: 96439ab70941ef071c43540cb5502421d06f12314d71c51ea5671c0f39ba5b70
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c0d5720ecb32f75b9c64437695596f063691a6bf17c459e7fc1ee8b1cc2943a0cac6b74ef4663a02c47aa71a740ab3f85e6eeefd326139e2409154681fdffe29
|
7
|
+
data.tar.gz: 6468d791f4d178b41214599b13542a7ee94cd0141f83db12d581f9bc727b522fe2b3c6d54db63366df8728e700fc70882b85fea40024a51cf7f879f618a890e7
|
data/lib/mext/math/expon.rb
CHANGED
data/lib/mext/math/function.rb
CHANGED
data/lib/mext/math/line.rb
CHANGED
data/lib/tasks/gruff/expon.rake
CHANGED
@@ -4,17 +4,15 @@ require File.expand_path(File.join('..', 'gruff_plot'), __FILE__)
|
|
4
4
|
|
5
5
|
namespace :plot do
|
6
6
|
|
7
|
-
task :create_output_dir do
|
8
|
-
unless Dir.exists?(Mext::Gruff::Plotter::OUTPUT_PATH)
|
9
|
-
mkdir_p Mext::Gruff::Plotter::OUTPUT_PATH
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
7
|
desc 'plot the Expon dataset'
|
14
8
|
task :expon => :create_output_dir do
|
15
9
|
ranges = [ Range.new(0, 2), Range.new(3,3) ]
|
16
10
|
p = Mext::Gruff::Plotter.new('expon_dataset', 800, Mext::Spec::Fixtures::Math::EXPON_DATASETS, ranges)
|
17
|
-
p.plot
|
11
|
+
p.plot do
|
12
|
+
|args|
|
13
|
+
(ys, ye, xs, xe, tau, xmid, ymid) = args
|
14
|
+
Math::Expon.new(ys, ye, xs, xe, tau)
|
15
|
+
end
|
18
16
|
end
|
19
17
|
|
20
18
|
end
|
data/lib/tasks/gruff/gruff.rake
CHANGED
@@ -1,3 +1,13 @@
|
|
1
1
|
|
2
2
|
desc 'plot all plots'
|
3
|
-
task :plot => ['plot:expon']
|
3
|
+
task :plot => ['plot:expon', 'plot:line']
|
4
|
+
|
5
|
+
namespace :plot do
|
6
|
+
|
7
|
+
task :create_output_dir do
|
8
|
+
unless Dir.exists?(Mext::Gruff::Plotter::OUTPUT_PATH)
|
9
|
+
mkdir_p Mext::Gruff::Plotter::OUTPUT_PATH
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
end
|
@@ -1,18 +1,24 @@
|
|
1
1
|
require 'gruff'
|
2
|
+
require 'byebug'
|
2
3
|
|
3
4
|
module Mext
|
4
5
|
module Gruff
|
5
6
|
|
6
7
|
class Plotter
|
7
8
|
attr_reader :title, :size, :datasets, :ranges
|
9
|
+
attr_accessor :step, :dot_radius
|
8
10
|
|
9
11
|
OUTPUT_PATH = File.expand_path(File.join(['..'] * 4, 'tmp', 'output'), __FILE__)
|
12
|
+
DEFAULT_STEP = 0.1
|
13
|
+
DEFAULT_DOT_RADIUS = 2.0
|
10
14
|
|
11
|
-
def initialize(t, s, ds, r = nil)
|
15
|
+
def initialize(t, s, ds, r = nil, stp = DEFAULT_STEP)
|
12
16
|
@title = t
|
13
17
|
@size = s
|
14
18
|
@datasets = ds
|
15
19
|
@ranges = r
|
20
|
+
self.step = stp
|
21
|
+
self.dot_radius = DEFAULT_DOT_RADIUS
|
16
22
|
end
|
17
23
|
|
18
24
|
def plot
|
@@ -22,12 +28,13 @@ module Mext
|
|
22
28
|
|range|
|
23
29
|
g = ::Gruff::Line.new(self.size)
|
24
30
|
g.title = self.title + " (#{idx})"
|
31
|
+
g.theme = ::Gruff::Themes::PASTEL
|
32
|
+
g.dot_radius = self.dot_radius
|
25
33
|
self.datasets[range].each do
|
26
34
|
|args|
|
27
|
-
|
28
|
-
|
29
|
-
(xdata, ydata)
|
30
|
-
g.dataxy("tau: #{f.tau}", xdata, ydata)
|
35
|
+
f = yield(args)
|
36
|
+
(xdata, ydata) = f.xy(self.step)
|
37
|
+
g.dataxy(f.label, xdata, ydata)
|
31
38
|
end
|
32
39
|
g.write(File.join(Mext::Gruff::Plotter::OUTPUT_PATH, self.title.gsub(/\s+/, '_') + "_#{idx}.png"))
|
33
40
|
idx += 1
|
@@ -35,5 +42,6 @@ module Mext
|
|
35
42
|
end
|
36
43
|
|
37
44
|
end
|
45
|
+
|
38
46
|
end
|
39
47
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
require File.expand_path(File.join(['..'] * 4, 'spec', 'fixtures', 'line_dataset'), __FILE__)
|
3
|
+
require File.expand_path(File.join('..', 'gruff_plot'), __FILE__)
|
4
|
+
|
5
|
+
namespace :plot do
|
6
|
+
|
7
|
+
desc 'plot the Line dataset'
|
8
|
+
task :line => :create_output_dir do
|
9
|
+
ranges = [ Range.new(0, 0), Range.new(1,1) ]
|
10
|
+
p = Mext::Gruff::Plotter.new('line_dataset', 800, Mext::Spec::Fixtures::Math::LINE_DATASETS, ranges)
|
11
|
+
p.plot do
|
12
|
+
|args|
|
13
|
+
(ys, ye, xs, xe, xmid, ymid) = args
|
14
|
+
Math::Line.new(ys, ye, xs, xe)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
data/lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-mext
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nicola Bernardini
|
@@ -137,6 +137,7 @@ files:
|
|
137
137
|
- lib/tasks/gruff/expon.rake
|
138
138
|
- lib/tasks/gruff/gruff.rake
|
139
139
|
- lib/tasks/gruff/gruff_plot.rb
|
140
|
+
- lib/tasks/gruff/line.rake
|
140
141
|
- lib/version.rb
|
141
142
|
- ruby-mext.gemspec
|
142
143
|
homepage: https://github.com/nicb/ruby-mext
|