gruff 0.9.0 → 0.12.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/.rubocop.yml +21 -4
- data/.rubocop_todo.yml +103 -49
- data/.travis.yml +3 -6
- data/CHANGELOG.md +30 -0
- data/README.md +4 -0
- data/gruff.gemspec +8 -3
- data/lib/gruff.rb +9 -3
- data/lib/gruff/accumulator_bar.rb +13 -5
- data/lib/gruff/area.rb +22 -5
- data/lib/gruff/bar.rb +38 -10
- data/lib/gruff/base.rb +325 -236
- data/lib/gruff/bezier.rb +18 -4
- data/lib/gruff/bullet.rb +22 -14
- data/lib/gruff/dot.rb +20 -33
- data/lib/gruff/helper/bar_conversion.rb +7 -7
- data/lib/gruff/helper/bar_value_label_mixin.rb +3 -0
- data/lib/gruff/helper/stacked_mixin.rb +1 -1
- data/lib/gruff/histogram.rb +59 -0
- data/lib/gruff/line.rb +33 -28
- data/lib/gruff/mini/bar.rb +10 -2
- data/lib/gruff/mini/legend.rb +9 -4
- data/lib/gruff/mini/pie.rb +9 -3
- data/lib/gruff/mini/side_bar.rb +18 -4
- data/lib/gruff/net.rb +41 -21
- data/lib/gruff/patch/rmagick.rb +22 -24
- data/lib/gruff/patch/string.rb +9 -4
- data/lib/gruff/photo_bar.rb +12 -16
- data/lib/gruff/pie.rb +24 -34
- data/lib/gruff/renderer/bezier.rb +4 -3
- data/lib/gruff/renderer/circle.rb +4 -3
- data/lib/gruff/renderer/dash_line.rb +4 -3
- data/lib/gruff/renderer/dot.rb +4 -3
- data/lib/gruff/renderer/ellipse.rb +4 -3
- data/lib/gruff/renderer/line.rb +14 -5
- data/lib/gruff/renderer/polygon.rb +5 -4
- data/lib/gruff/renderer/polyline.rb +4 -3
- data/lib/gruff/renderer/rectangle.rb +3 -2
- data/lib/gruff/renderer/renderer.rb +31 -38
- data/lib/gruff/renderer/text.rb +29 -7
- data/lib/gruff/scatter.rb +26 -24
- data/lib/gruff/scene.rb +0 -1
- data/lib/gruff/side_bar.rb +51 -20
- data/lib/gruff/side_stacked_bar.rb +42 -15
- data/lib/gruff/spider.rb +29 -17
- data/lib/gruff/stacked_area.rb +19 -8
- data/lib/gruff/stacked_bar.rb +34 -13
- data/lib/gruff/store/{base_data.rb → basic_data.rb} +9 -7
- data/lib/gruff/store/custom_data.rb +8 -6
- data/lib/gruff/store/store.rb +7 -6
- data/lib/gruff/store/xy_data.rb +10 -7
- data/lib/gruff/version.rb +1 -1
- metadata +50 -11
- data/Rakefile +0 -23
- data/docker/Dockerfile +0 -14
- data/docker/build.sh +0 -4
- data/docker/launch.sh +0 -4
data/lib/gruff/store/xy_data.rb
CHANGED
@@ -2,12 +2,11 @@
|
|
2
2
|
|
3
3
|
module Gruff
|
4
4
|
class Store
|
5
|
+
# @private
|
5
6
|
class XYData < Struct.new(:label, :y_points, :color, :x_points)
|
6
7
|
def initialize(label, y_points, color, x_points = nil)
|
7
|
-
|
8
|
-
|
9
|
-
self.color = color
|
10
|
-
self.x_points = Array(x_points) if x_points
|
8
|
+
x_points = Array(x_points) if x_points
|
9
|
+
super(label.to_s, Array(y_points), color, x_points)
|
11
10
|
end
|
12
11
|
|
13
12
|
def x_points
|
@@ -18,6 +17,10 @@ module Gruff
|
|
18
17
|
x_points.zip(y_points)
|
19
18
|
end
|
20
19
|
|
20
|
+
def empty?
|
21
|
+
y_points.empty?
|
22
|
+
end
|
23
|
+
|
21
24
|
def columns
|
22
25
|
y_points.length
|
23
26
|
end
|
@@ -40,12 +43,12 @@ module Gruff
|
|
40
43
|
x_points.compact.max
|
41
44
|
end
|
42
45
|
|
43
|
-
def normalize(
|
46
|
+
def normalize(minimum_x:, minimum_y:, spread_x:, spread_y:)
|
44
47
|
norm_x_points = x_points.map do |x|
|
45
|
-
x.nil? ? nil : (x.to_f -
|
48
|
+
x.nil? ? nil : (x.to_f - minimum_x.to_f) / spread_x
|
46
49
|
end
|
47
50
|
norm_y_points = y_points.map do |y|
|
48
|
-
y.nil? ? nil : (y.to_f -
|
51
|
+
y.nil? ? nil : (y.to_f - minimum_y.to_f) / spread_y
|
49
52
|
end
|
50
53
|
|
51
54
|
self.class.new(label, norm_y_points, color, norm_x_points)
|
data/lib/gruff/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gruff
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.12.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Geoffrey Grosenbach
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2021-04-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rmagick
|
@@ -31,14 +31,42 @@ dependencies:
|
|
31
31
|
requirements:
|
32
32
|
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version:
|
34
|
+
version: 1.11.0
|
35
35
|
type: :development
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version:
|
41
|
+
version: 1.11.0
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: rubocop-performance
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - "~>"
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: 1.10.1
|
49
|
+
type: :development
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - "~>"
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: 1.10.1
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: histogram
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
type: :runtime
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
42
70
|
- !ruby/object:Gem::Dependency
|
43
71
|
name: rake
|
44
72
|
requirement: !ruby/object:Gem::Requirement
|
@@ -53,6 +81,20 @@ dependencies:
|
|
53
81
|
- - ">="
|
54
82
|
- !ruby/object:Gem::Version
|
55
83
|
version: '0'
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: parallel
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - ">="
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '0'
|
91
|
+
type: :development
|
92
|
+
prerelease: false
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '0'
|
56
98
|
- !ruby/object:Gem::Dependency
|
57
99
|
name: minitest-reporters
|
58
100
|
requirement: !ruby/object:Gem::Requirement
|
@@ -99,13 +141,9 @@ files:
|
|
99
141
|
- Gemfile
|
100
142
|
- MIT-LICENSE
|
101
143
|
- README.md
|
102
|
-
- Rakefile
|
103
144
|
- assets/plastik/blue.png
|
104
145
|
- assets/plastik/green.png
|
105
146
|
- assets/plastik/red.png
|
106
|
-
- docker/Dockerfile
|
107
|
-
- docker/build.sh
|
108
|
-
- docker/launch.sh
|
109
147
|
- gruff.gemspec
|
110
148
|
- init.rb
|
111
149
|
- lib/gruff.rb
|
@@ -119,6 +157,7 @@ files:
|
|
119
157
|
- lib/gruff/helper/bar_conversion.rb
|
120
158
|
- lib/gruff/helper/bar_value_label_mixin.rb
|
121
159
|
- lib/gruff/helper/stacked_mixin.rb
|
160
|
+
- lib/gruff/histogram.rb
|
122
161
|
- lib/gruff/line.rb
|
123
162
|
- lib/gruff/mini/bar.rb
|
124
163
|
- lib/gruff/mini/legend.rb
|
@@ -147,7 +186,7 @@ files:
|
|
147
186
|
- lib/gruff/spider.rb
|
148
187
|
- lib/gruff/stacked_area.rb
|
149
188
|
- lib/gruff/stacked_bar.rb
|
150
|
-
- lib/gruff/store/
|
189
|
+
- lib/gruff/store/basic_data.rb
|
151
190
|
- lib/gruff/store/custom_data.rb
|
152
191
|
- lib/gruff/store/store.rb
|
153
192
|
- lib/gruff/store/xy_data.rb
|
@@ -168,14 +207,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
168
207
|
requirements:
|
169
208
|
- - ">="
|
170
209
|
- !ruby/object:Gem::Version
|
171
|
-
version:
|
210
|
+
version: 2.4.0
|
172
211
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
173
212
|
requirements:
|
174
213
|
- - ">="
|
175
214
|
- !ruby/object:Gem::Version
|
176
215
|
version: '0'
|
177
216
|
requirements: []
|
178
|
-
rubygems_version: 3.1.
|
217
|
+
rubygems_version: 3.1.4
|
179
218
|
signing_key:
|
180
219
|
specification_version: 4
|
181
220
|
summary: Beautiful graphs for one or multiple datasets.
|
data/Rakefile
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'bundler/gem_tasks'
|
4
|
-
require 'rake/testtask'
|
5
|
-
require 'rake/clean'
|
6
|
-
|
7
|
-
CLEAN.concat %w[pkg test/output/*]
|
8
|
-
|
9
|
-
desc 'Run tests'
|
10
|
-
task default: :test
|
11
|
-
|
12
|
-
task gem: :build
|
13
|
-
|
14
|
-
Rake::TestTask.new
|
15
|
-
|
16
|
-
namespace :test do
|
17
|
-
desc 'Run mini tests'
|
18
|
-
task mini: :clean do
|
19
|
-
Dir['test/test_mini*'].each do |file|
|
20
|
-
system "ruby #{file}"
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
data/docker/Dockerfile
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
FROM ubuntu:18.04
|
2
|
-
|
3
|
-
RUN apt update && apt install -y gcc libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev \
|
4
|
-
libmagickwand-dev wget git pkg-config && \
|
5
|
-
wget https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.1.tar.gz && \
|
6
|
-
tar xvzf ruby-2.7.1.tar.gz && \
|
7
|
-
cd ruby-2.7.1 && \
|
8
|
-
./configure --prefix=/usr --disable-install-rdoc && \
|
9
|
-
make -j install && \
|
10
|
-
cd .. && rm -rf ruby-2.7.1 && \
|
11
|
-
gem install bundler -v 1.17.3 && \
|
12
|
-
/usr/bin/bundle config set --local path 'vendor/bundle'
|
13
|
-
|
14
|
-
WORKDIR /opt/gruff
|
data/docker/build.sh
DELETED
data/docker/launch.sh
DELETED