minichart 0.0.1 → 0.1.0
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 +5 -5
- data/README.md +4 -2
- data/lib/minichart/bar_chart.rb +5 -9
- data/lib/minichart/chart.rb +24 -4
- data/lib/minichart/line_chart.rb +3 -1
- data/lib/minichart/version.rb +1 -1
- metadata +3 -60
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 0574d786b6188b0f2ed6977760ad85bbd2f2487a6d010de8e7be7f50127d51a3
|
4
|
+
data.tar.gz: 5b138c614099b58ff7365a38246641a586417c0fdccb6e1e2677494603f01eb8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 49471660072528ec03c129fb0b549b88f3a2a9f3f5286b969579402ddfb9233c7eb617f1fa64821273a43a88042a724432324bad8f7f0d0143d5825778f4d5fb
|
7
|
+
data.tar.gz: 23d208d26569d432380615d0e5e479a92dfa61492841cbd9c9211dd8c94c036f5be467f5710de49a66b58cffa92a2c3066f9a4a2bf6933fea72ba69c59b9e811
|
data/README.md
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
Minichart - SVG Chart Generator
|
2
2
|
==================================================
|
3
3
|
|
4
|
-
|
5
4
|
---
|
6
5
|
|
7
6
|
Create SVG mini charts with Ruby
|
@@ -34,4 +33,7 @@ plot.data = [10, 30, 20, 40, 30]
|
|
34
33
|
plot.save 'line'
|
35
34
|
```
|
36
35
|
|
37
|
-
See more examples in the examples folder.
|
36
|
+
See more examples (code and SVG output) in the [examples folder][1].
|
37
|
+
|
38
|
+
|
39
|
+
[1]: https://github.com/DannyBen/minichart/tree/master/examples#examples
|
data/lib/minichart/bar_chart.rb
CHANGED
@@ -8,11 +8,7 @@ module Minichart
|
|
8
8
|
end
|
9
9
|
end
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
def style
|
14
|
-
@style ||= { stroke_width: 1, stroke: '#eee' }
|
15
|
-
end
|
11
|
+
private
|
16
12
|
|
17
13
|
def bar_width
|
18
14
|
@bar_width ||= width / data.size
|
@@ -23,10 +19,10 @@ module Minichart
|
|
23
19
|
bar_height = height-y
|
24
20
|
{
|
25
21
|
x: x*width,
|
26
|
-
y: y,
|
27
|
-
bar_width,
|
28
|
-
bar_height,
|
29
|
-
style:
|
22
|
+
y: y,
|
23
|
+
width: bar_width,
|
24
|
+
height: bar_height,
|
25
|
+
style: { fill: color, stroke_width: stroke, stroke: background }
|
30
26
|
}
|
31
27
|
end
|
32
28
|
end
|
data/lib/minichart/chart.rb
CHANGED
@@ -1,15 +1,19 @@
|
|
1
1
|
module Minichart
|
2
2
|
class Chart
|
3
|
-
attr_accessor :data, :aspect_ratio
|
3
|
+
attr_accessor :data, :aspect_ratio, :opts
|
4
|
+
|
5
|
+
def initialize(opts={})
|
6
|
+
@opts = opts
|
7
|
+
end
|
4
8
|
|
5
9
|
def save(name)
|
6
|
-
svg.rect x: 0, y: 0, width: width, height: height, fill:
|
10
|
+
svg.rect x: 0, y: 0, width: width, height: height, fill: background
|
7
11
|
build
|
8
12
|
svg.save name
|
9
13
|
end
|
10
14
|
|
11
15
|
def build
|
12
|
-
raise "
|
16
|
+
raise NotImplementedError, "#build is not implemented"
|
13
17
|
end
|
14
18
|
|
15
19
|
def inverted_points(opts={})
|
@@ -41,7 +45,23 @@ module Minichart
|
|
41
45
|
end
|
42
46
|
|
43
47
|
def svg
|
44
|
-
@svg ||= SVG.new viewBox: "0 0 #{width} #{height}", style:
|
48
|
+
@svg ||= Victor::SVG.new viewBox: "0 0 #{width} #{height}", style: style
|
49
|
+
end
|
50
|
+
|
51
|
+
def style
|
52
|
+
@opts[:style] ||= {}
|
53
|
+
end
|
54
|
+
|
55
|
+
def background
|
56
|
+
@opts[:background] ||= '#eee'
|
57
|
+
end
|
58
|
+
|
59
|
+
def color
|
60
|
+
@opts[:color] || '#333'
|
61
|
+
end
|
62
|
+
|
63
|
+
def stroke
|
64
|
+
@opts[:stroke] ||= 2
|
45
65
|
end
|
46
66
|
end
|
47
67
|
end
|
data/lib/minichart/line_chart.rb
CHANGED
@@ -1,9 +1,11 @@
|
|
1
1
|
module Minichart
|
2
2
|
class LineChart < Chart
|
3
3
|
def build
|
4
|
-
svg.polyline fill: :none, stroke:
|
4
|
+
svg.polyline fill: :none, stroke: color, stroke_width: stroke, points: points
|
5
5
|
end
|
6
6
|
|
7
|
+
private
|
8
|
+
|
7
9
|
def points
|
8
10
|
result = []
|
9
11
|
inverted_points.each do |point|
|
data/lib/minichart/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: minichart
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Danny Ben Shitrit
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-05-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: victor
|
@@ -24,62 +24,6 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0.1'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: runfile
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0.8'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0.8'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: runfile-tasks
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - "~>"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0.4'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0.4'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: byebug
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '9.0'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '9.0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: filewatcher
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0.5'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0.5'
|
83
27
|
description: Generate mini charts with SVG
|
84
28
|
email: db@dannyben.com
|
85
29
|
executables: []
|
@@ -111,8 +55,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
111
55
|
- !ruby/object:Gem::Version
|
112
56
|
version: '0'
|
113
57
|
requirements: []
|
114
|
-
|
115
|
-
rubygems_version: 2.6.6
|
58
|
+
rubygems_version: 3.0.3
|
116
59
|
signing_key:
|
117
60
|
specification_version: 4
|
118
61
|
summary: SVG Mini Charts
|