nyaplot 0.1.1 → 0.1.2
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 +4 -4
- data/README.md +1 -0
- data/Rakefile +14 -0
- data/examples/notebook/DataFrame.ipynb +46 -27
- data/examples/notebook/Mapnya.ipynb +63 -35
- data/lib/mapnya/README.md +1 -3
- data/lib/mapnya/js/release/mapnya.js +3 -3
- data/lib/mapnya/js/release/mapnya.min.js +1 -1
- data/lib/mapnya/js/src/components/axis.js +3 -3
- data/lib/mapnya/plot.rb +1 -1
- data/lib/nyaplot.rb +1 -0
- data/lib/nyaplot/base.rb +2 -0
- data/lib/nyaplot/color.rb +20 -0
- data/lib/nyaplot/data.rb +21 -16
- data/lib/nyaplot/diagram.rb +12 -4
- data/lib/nyaplot/monkeys.rb +53 -0
- data/lib/nyaplot/plot.rb +5 -2
- data/lib/nyaplot/version.rb +1 -1
- data/nyaplot.gemspec +34 -2
- data/spec/nyaplot/core_spec.rb +0 -5
- data/spec/nyaplot/data_spec.rb +14 -8
- data/spec/nyaplot/frame_spec.rb +2 -3
- data/spec/nyaplot/monkeys_spec.rb +31 -0
- metadata +24 -7
data/lib/nyaplot/base.rb
CHANGED
@@ -41,6 +41,7 @@ module Nyaplot
|
|
41
41
|
define_method(symbol) {|val=nil|
|
42
42
|
return @properties[symbol] if val.nil?
|
43
43
|
@properties[symbol] = val
|
44
|
+
return self
|
44
45
|
}
|
45
46
|
end
|
46
47
|
end
|
@@ -61,6 +62,7 @@ module Nyaplot
|
|
61
62
|
define_method(symbol) {|val=nil|
|
62
63
|
return @properties[name][symbol] if val.nil?
|
63
64
|
@properties[name][symbol] = val
|
65
|
+
return self
|
64
66
|
}
|
65
67
|
end
|
66
68
|
end
|
data/lib/nyaplot/color.rb
CHANGED
@@ -51,6 +51,12 @@ module Nyaplot
|
|
51
51
|
|
52
52
|
# The html interface to access Colorset
|
53
53
|
class Color
|
54
|
+
include Enumerable
|
55
|
+
|
56
|
+
def each(&bl)
|
57
|
+
@source.each(&bl)
|
58
|
+
end
|
59
|
+
|
54
60
|
def initialize(arr)
|
55
61
|
@source = arr
|
56
62
|
end
|
@@ -73,5 +79,19 @@ module Nyaplot
|
|
73
79
|
def to_json(*args)
|
74
80
|
@source.to_json
|
75
81
|
end
|
82
|
+
|
83
|
+
def method_missing(meth, *args, &block)
|
84
|
+
if [:size, :length, :[]].include?(meth)
|
85
|
+
@source.send(meth, *args, &block)
|
86
|
+
else
|
87
|
+
super
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
def respond_to?(meth)
|
92
|
+
return true if [:size, :length, :[]].include?(meth)
|
93
|
+
super
|
94
|
+
end
|
95
|
+
|
76
96
|
end
|
77
97
|
end
|
data/lib/nyaplot/data.rb
CHANGED
@@ -170,38 +170,29 @@ module Nyaplot
|
|
170
170
|
@rows[0].keys
|
171
171
|
end
|
172
172
|
|
173
|
-
def method_missing(name, *args)
|
173
|
+
def method_missing(name, *args, &block)
|
174
174
|
if md = name.match(/(.+)\=/)
|
175
175
|
self.insert_column(name[/(.+)\=/].delete("="), args[0])
|
176
176
|
return
|
177
|
-
|
177
|
+
elsif column_labels.include?(name)
|
178
178
|
return self.column(name)
|
179
|
+
else
|
180
|
+
super(name, *args, &block)
|
179
181
|
end
|
180
182
|
end
|
181
183
|
end
|
182
184
|
|
183
185
|
class Series
|
184
186
|
include Enumerable
|
187
|
+
def each(&block)
|
188
|
+
@arr.each(&block)
|
189
|
+
end
|
185
190
|
|
186
191
|
def initialize(label, arr)
|
187
192
|
@arr = arr
|
188
193
|
@label = label
|
189
194
|
end
|
190
195
|
|
191
|
-
def each
|
192
|
-
@arr.each do |item|
|
193
|
-
yield item
|
194
|
-
end
|
195
|
-
end
|
196
|
-
|
197
|
-
def min
|
198
|
-
@arr.min
|
199
|
-
end
|
200
|
-
|
201
|
-
def max
|
202
|
-
@arr.max
|
203
|
-
end
|
204
|
-
|
205
196
|
def to_html(threshold=15)
|
206
197
|
html = '<table><tr><th>' + label.to_s + '</th></tr>>'
|
207
198
|
@arr.each_with_index do |el,i|
|
@@ -223,5 +214,19 @@ module Nyaplot
|
|
223
214
|
def label
|
224
215
|
@label
|
225
216
|
end
|
217
|
+
|
218
|
+
def method_missing(meth, *args, &block)
|
219
|
+
if @arr.respond_to?(meth)
|
220
|
+
@arr.send(meth, *args, &block)
|
221
|
+
else
|
222
|
+
super(meth, *args, &block)
|
223
|
+
end
|
224
|
+
end
|
225
|
+
|
226
|
+
def respond_to?(meth)
|
227
|
+
return true if @arr.respond_to?(meth)
|
228
|
+
super(meth)
|
229
|
+
end
|
230
|
+
|
226
231
|
end
|
227
232
|
end
|
data/lib/nyaplot/diagram.rb
CHANGED
@@ -49,7 +49,9 @@ module Nyaplot
|
|
49
49
|
# @return [Numeric] the width of each bar. The specified value should be in the range 0 to 1.
|
50
50
|
# @!attribute color
|
51
51
|
# @return [Array<String>] array of color codes
|
52
|
-
|
52
|
+
# @!attribute legend
|
53
|
+
# @return [Bool] decide if the diagram prepare legend
|
54
|
+
define_group_properties(:options, [:value, :x, :y, :width, :color, :legend])
|
53
55
|
|
54
56
|
# calcurate xrange and yrange from recieved data
|
55
57
|
def process_data(df, labels)
|
@@ -88,7 +90,9 @@ module Nyaplot
|
|
88
90
|
# @return [String] color code
|
89
91
|
# @!attribute stroke_width
|
90
92
|
# @return [Numeric] the width of stroke
|
91
|
-
|
93
|
+
# @!attribute legend
|
94
|
+
# @return [Bool] decide if the diagram prepare legend
|
95
|
+
define_group_properties(:options, [:title, :value, :bin_num, :width, :color, :stroke_color, :stroke_width, :legend])
|
92
96
|
|
93
97
|
def process_data(df, labels)
|
94
98
|
label = labels[0]
|
@@ -162,7 +166,9 @@ module Nyaplot
|
|
162
166
|
# @return [Numeric] the width of stroke
|
163
167
|
# @!attribute tooltip_contents
|
164
168
|
# @return [Array<Symbol>] column labels to display in tool-tip box
|
165
|
-
|
169
|
+
# @!attribute legend
|
170
|
+
# @return [Bool] decide if the diagram prepare legend
|
171
|
+
define_group_properties(:options, [:title, :x, :y, :fill_by, :shape_by, :size_by, :color, :shape, :size, :stroke_color, :stroke_width, :tooltip_contents, :legend])
|
166
172
|
|
167
173
|
def process_data(df, labels)
|
168
174
|
label_x = labels[0]
|
@@ -230,7 +236,9 @@ module Nyaplot
|
|
230
236
|
# @return [String] the color code
|
231
237
|
# @!attribute stroke_width
|
232
238
|
# @return [Numeric] the width of stroke
|
233
|
-
|
239
|
+
# @!attribute legend
|
240
|
+
# @return [Bool] decide if the diagram prepare legend
|
241
|
+
define_group_properties(:options, [:title, :x, :y, :color, :stroke_width, :legend])
|
234
242
|
|
235
243
|
def process_data(df, labels)
|
236
244
|
label_x = labels[0]
|
@@ -0,0 +1,53 @@
|
|
1
|
+
class Array
|
2
|
+
# Find the numeric mean. nils are ignored.
|
3
|
+
def mean
|
4
|
+
ary = self.to_a.compact
|
5
|
+
if defined?(NMatrix) # Prefer the C version.
|
6
|
+
ary.to_nm.mean[0]
|
7
|
+
else # Fall back to Ruby.
|
8
|
+
ary.inject(0) { |x,i| x + i } / ary.size.to_f
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
|
13
|
+
# Find the single median or the mean of medians. nils are ignored.
|
14
|
+
def median
|
15
|
+
ary = self.to_a.compact.sort.uniq
|
16
|
+
return nil if ary.empty?
|
17
|
+
if ary.size % 2 == 1 # Even number of entries
|
18
|
+
ary[(ary.size-1) / 2]
|
19
|
+
else # Odd number of entries
|
20
|
+
idx = (ary.size-1) / 2
|
21
|
+
(ary[idx] + ary[idx+1]) / 2.0
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
|
26
|
+
# Note: Not guaranteed to be the fastest way to find the modes, but I didn't see this function
|
27
|
+
# as a bottleneck worth a ton of effort. --JW
|
28
|
+
def modes
|
29
|
+
ary = self.sort.compact
|
30
|
+
return nil if ary.empty?
|
31
|
+
h = {}
|
32
|
+
ary.each do |k|
|
33
|
+
if h.has_key?(k)
|
34
|
+
h[k] += 1
|
35
|
+
else
|
36
|
+
h[k] = 1
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
return nil if h.keys.empty?
|
41
|
+
|
42
|
+
max_key = h.keys.first
|
43
|
+
|
44
|
+
h.each_pair do |k,count|
|
45
|
+
next if count.nil? || h[max_key].nil?
|
46
|
+
|
47
|
+
max_key = k if count > h[max_key]
|
48
|
+
end
|
49
|
+
|
50
|
+
mode_count = h[max_key]
|
51
|
+
h.select { |k,v| v == mode_count }.keys.sort
|
52
|
+
end
|
53
|
+
end
|
data/lib/nyaplot/plot.rb
CHANGED
@@ -37,12 +37,15 @@ module Nyaplot
|
|
37
37
|
define_properties(:diagrams, :filter)
|
38
38
|
define_group_properties(:options, [:width, :height, :margin, :xrange, :yrange, :x_label, :y_label, :bg_color, :grid_color, :legend, :legend_width, :legend_options, :zoom, :rotate_x_label, :rotate_y_label])
|
39
39
|
|
40
|
-
def initialize
|
40
|
+
def initialize(&block)
|
41
41
|
init_properties
|
42
42
|
set_property(:diagrams, [])
|
43
43
|
set_property(:options, {})
|
44
44
|
set_property(:width, nil)
|
45
45
|
set_property(:legend, nil)
|
46
|
+
set_property(:zoom, nil)
|
47
|
+
|
48
|
+
yield if block_given?
|
46
49
|
end
|
47
50
|
|
48
51
|
# Add diagram with Array
|
@@ -102,7 +105,7 @@ module Nyaplot
|
|
102
105
|
return if diagrams.length == 0
|
103
106
|
|
104
107
|
# set default values when not specified by users
|
105
|
-
zoom(true) if diagrams.all?{|d| d.zoom?}
|
108
|
+
zoom(true) if zoom.nil? && diagrams.all?{|d| d.zoom?}
|
106
109
|
|
107
110
|
if width.nil?
|
108
111
|
if legend == true
|
data/lib/nyaplot/version.rb
CHANGED
data/nyaplot.gemspec
CHANGED
@@ -8,15 +8,47 @@ Gem::Specification.new do |spec|
|
|
8
8
|
spec.version = Nyaplot::VERSION
|
9
9
|
spec.authors = ["Naoki Nishida"]
|
10
10
|
spec.email = ["domitry@gmail.com"]
|
11
|
-
spec.summary = %q{interactive plots generator
|
12
|
-
spec.description = %q{
|
11
|
+
spec.summary = %q{Nyaplot is an interactive plots generator based on Web technology like SVG, WebGL, and JavaScript.}
|
12
|
+
spec.description = %q{Nyaplot is an Interactive plots generator based on Web technology like SVG, WebGL, and JavaScript. It enables us to create interactive plots interactively on IRuby notebook, a web-based Ruby environment. Nyaplot is totally web-based gem and plots can be embedded into Rails or Sinatra seemlesly. Supported charts include basic 2D plot, 3D plot, Map plot and plot for Biology. See nbviewer (http://nbviewer.ipython.org/github/domitry/nyaplot/blob/master/examples/notebook/Index.ipynb) to overview what plots can be done with nyaplot and how to create them.}
|
13
13
|
spec.homepage = "https://www.github.com/domitry/nyaplot"
|
14
14
|
spec.license = "MIT"
|
15
|
+
spec.post_install_message = <<-EOF
|
16
|
+
************************************************************************
|
17
|
+
Welcome to Nyaplot
|
18
|
+
|
19
|
+
___/|
|
20
|
+
\o.O|
|
21
|
+
(___)
|
22
|
+
U
|
23
|
+
|
24
|
+
Thank you for installing Nyaplot gem.
|
25
|
+
|
26
|
+
We strongly recommend you to install IRuby, an interactive
|
27
|
+
Ruby environment on web browser at the same time.
|
28
|
+
|
29
|
+
$ gem install iruby
|
30
|
+
|
31
|
+
If you wonder how to use Nyaplot, see /path/to/nyaplot/examples/notebook
|
32
|
+
and run `iruby notebook` in the directory.
|
33
|
+
You can find these notebook on your browser:
|
34
|
+
http://nbviewer.ipython.org/github/domitry/nyaplot/blob/master/examples/notebook/Index.ipynb
|
35
|
+
|
36
|
+
You can also use nyaplot without IRuby like /path/to/nyaplot/examples/rb
|
37
|
+
or on your browser:
|
38
|
+
https://github.com/domitry/nyaplot/tree/master/examples/rb
|
39
|
+
|
40
|
+
Feel free to raise Issue or Pull-request on GitHub.
|
41
|
+
Most pull-request might be accepted unless it is broken or too destructive.
|
42
|
+
|
43
|
+
Enjoy Nyaplot!
|
44
|
+
************************************************************************
|
45
|
+
EOF
|
15
46
|
|
16
47
|
spec.files = `git ls-files -z`.split("\x0")
|
17
48
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
49
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
50
|
spec.require_paths = ["lib"]
|
51
|
+
spec.required_ruby_version = ">= 1.9"
|
20
52
|
|
21
53
|
spec.add_development_dependency "bundler", "~> 1.5"
|
22
54
|
spec.add_development_dependency "rake"
|
data/spec/nyaplot/core_spec.rb
CHANGED
@@ -1,11 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Nyaplot do
|
4
|
-
context ".init_iruby" do
|
5
|
-
it "should raise error if IRuby is not loaded." do
|
6
|
-
expect{Nyaplot.init_iruby}.to raise_error(RuntimeError)
|
7
|
-
end
|
8
|
-
end
|
9
4
|
|
10
5
|
# Tell the name of new JS extension library to Nyaplotjs
|
11
6
|
context ".add_extension" do
|
data/spec/nyaplot/data_spec.rb
CHANGED
@@ -139,35 +139,41 @@ describe Nyaplot::Series do
|
|
139
139
|
@series = df.a
|
140
140
|
end
|
141
141
|
|
142
|
-
context "
|
143
|
-
it "should
|
142
|
+
context "#each" do
|
143
|
+
it "should execute received block" do
|
144
144
|
sum = 0
|
145
145
|
@series.each {|val| sum+=val}
|
146
146
|
expect(sum).to eq(40)
|
147
147
|
end
|
148
148
|
end
|
149
149
|
|
150
|
-
context "
|
151
|
-
it "should
|
150
|
+
context "#min" do
|
151
|
+
it "should calculate minimum value" do
|
152
152
|
expect(@series.min).to eq(10)
|
153
153
|
end
|
154
154
|
end
|
155
155
|
|
156
|
-
context "
|
157
|
-
it "should
|
156
|
+
context "#max" do
|
157
|
+
it "should calculate maximum value" do
|
158
158
|
expect(@series.max).to eq(30)
|
159
159
|
end
|
160
160
|
end
|
161
161
|
|
162
|
-
context "
|
162
|
+
context "#to_a" do
|
163
163
|
it "should return Array" do
|
164
164
|
expect(@series.to_a).to eq([10,30])
|
165
165
|
end
|
166
166
|
end
|
167
167
|
|
168
|
-
context "
|
168
|
+
context "#label" do
|
169
169
|
it "should return String" do
|
170
170
|
expect(@series.label).to eq(:a)
|
171
171
|
end
|
172
172
|
end
|
173
|
+
|
174
|
+
context "#size" do
|
175
|
+
it "should delegate to the internal array storage" do
|
176
|
+
expect(@series.size).to eq(@series.to_a.size)
|
177
|
+
end
|
178
|
+
end
|
173
179
|
end
|
data/spec/nyaplot/frame_spec.rb
CHANGED
@@ -15,10 +15,9 @@ describe Nyaplot::Frame do
|
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
|
-
context ".
|
18
|
+
context ".generate_body" do
|
19
19
|
it "should return correct html" do
|
20
|
-
html = @frame.
|
21
|
-
|
20
|
+
html = @frame.generate_body
|
22
21
|
if_brackets_is_same_number = [[/<html(.*?)>/,"</html>"],[/<script(.*?)>/,"</script>"],[/<body(.*?)>/,"</body>"]].all? do |pair|
|
23
22
|
html.scan(pair[0]).length == html.scan(pair[1]).length
|
24
23
|
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Array do
|
4
|
+
context "#mean" do
|
5
|
+
it "should calculate the mean of its entries" do
|
6
|
+
expect([1,2,3,4,5].mean).to eq 3.0
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
context "#median" do
|
11
|
+
it "should calculate the median of an odd number of entries" do
|
12
|
+
expect([1,2,3,4,5].median).to eq 3
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should calculate the median of an even number of entries" do
|
16
|
+
expect([1,2,3,4,5,6].median).to eq 3.5
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
context "#modes" do
|
21
|
+
it "should find the only mode (where only one exists)" do
|
22
|
+
expect([1,3,2,3,4,5].modes.size).to eq 1
|
23
|
+
expect([1,3,2,3,4,5].modes.first).to eq 3
|
24
|
+
end
|
25
|
+
|
26
|
+
it "should find both modes (where two exist) in sorted order" do
|
27
|
+
expect([3,3,1,3,1,2,1,4,4].modes.size).to eq 2
|
28
|
+
expect([3,3,1,3,1,2,1,4,4].modes).to eq([1,3])
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nyaplot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Naoki Nishida
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-11-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -66,8 +66,12 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
-
description:
|
70
|
-
to
|
69
|
+
description: Nyaplot is an Interactive plots generator based on Web technology like
|
70
|
+
SVG, WebGL, and JavaScript. It enables us to create interactive plots interactively
|
71
|
+
on IRuby notebook, a web-based Ruby environment. Nyaplot is totally web-based gem
|
72
|
+
and plots can be embedded into Rails or Sinatra seemlesly. Supported charts include
|
73
|
+
basic 2D plot, 3D plot, Map plot and plot for Biology. See nbviewer (http://nbviewer.ipython.org/github/domitry/nyaplot/blob/master/examples/notebook/Index.ipynb)
|
74
|
+
to overview what plots can be done with nyaplot and how to create them.
|
71
75
|
email:
|
72
76
|
- domitry@gmail.com
|
73
77
|
executables: []
|
@@ -685,6 +689,7 @@ files:
|
|
685
689
|
- lib/nyaplot/database.rb
|
686
690
|
- lib/nyaplot/diagram.rb
|
687
691
|
- lib/nyaplot/frame.rb
|
692
|
+
- lib/nyaplot/monkeys.rb
|
688
693
|
- lib/nyaplot/plot.rb
|
689
694
|
- lib/nyaplot/templates/init.js.erb
|
690
695
|
- lib/nyaplot/templates/iruby.erb
|
@@ -706,6 +711,7 @@ files:
|
|
706
711
|
- spec/nyaplot/diagram_spec.rb
|
707
712
|
- spec/nyaplot/frame_spec.rb
|
708
713
|
- spec/nyaplot/matrix_test.csv
|
714
|
+
- spec/nyaplot/monkeys_spec.rb
|
709
715
|
- spec/nyaplot/plot_spec.rb
|
710
716
|
- spec/nyaplot3d_spec.rb
|
711
717
|
- spec/nyaplot_spec.rb
|
@@ -714,7 +720,16 @@ homepage: https://www.github.com/domitry/nyaplot
|
|
714
720
|
licenses:
|
715
721
|
- MIT
|
716
722
|
metadata: {}
|
717
|
-
post_install_message:
|
723
|
+
post_install_message: "************************************************************************\nWelcome
|
724
|
+
to Nyaplot\n\n ___/|\n o.O| \n (___)\n U\n\nThank you for installing Nyaplot gem.\n\nWe
|
725
|
+
strongly recommend you to install IRuby, an interactive\nRuby environment on web
|
726
|
+
browser at the same time.\n\n$ gem install iruby\n\nIf you wonder how to use Nyaplot,
|
727
|
+
see /path/to/nyaplot/examples/notebook\nand run `iruby notebook` in the directory.\nYou
|
728
|
+
can find these notebook on your browser:\nhttp://nbviewer.ipython.org/github/domitry/nyaplot/blob/master/examples/notebook/Index.ipynb\n\nYou
|
729
|
+
can also use nyaplot without IRuby like /path/to/nyaplot/examples/rb\nor on your
|
730
|
+
browser:\nhttps://github.com/domitry/nyaplot/tree/master/examples/rb\n\nFeel free
|
731
|
+
to raise Issue or Pull-request on GitHub.\nMost pull-request might be accepted unless
|
732
|
+
it is broken or too destructive.\n\nEnjoy Nyaplot!\n************************************************************************\n"
|
718
733
|
rdoc_options: []
|
719
734
|
require_paths:
|
720
735
|
- lib
|
@@ -722,7 +737,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
722
737
|
requirements:
|
723
738
|
- - ">="
|
724
739
|
- !ruby/object:Gem::Version
|
725
|
-
version: '
|
740
|
+
version: '1.9'
|
726
741
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
727
742
|
requirements:
|
728
743
|
- - ">="
|
@@ -733,7 +748,8 @@ rubyforge_project:
|
|
733
748
|
rubygems_version: 2.2.2
|
734
749
|
signing_key:
|
735
750
|
specification_version: 4
|
736
|
-
summary: interactive plots generator
|
751
|
+
summary: Nyaplot is an interactive plots generator based on Web technology like SVG,
|
752
|
+
WebGL, and JavaScript.
|
737
753
|
test_files:
|
738
754
|
- spec/bionya_spec.rb
|
739
755
|
- spec/mapnya_spec.rb
|
@@ -745,6 +761,7 @@ test_files:
|
|
745
761
|
- spec/nyaplot/diagram_spec.rb
|
746
762
|
- spec/nyaplot/frame_spec.rb
|
747
763
|
- spec/nyaplot/matrix_test.csv
|
764
|
+
- spec/nyaplot/monkeys_spec.rb
|
748
765
|
- spec/nyaplot/plot_spec.rb
|
749
766
|
- spec/nyaplot3d_spec.rb
|
750
767
|
- spec/nyaplot_spec.rb
|