gruff 0.26.0-java → 0.27.0-java
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/.github/ISSUE_TEMPLATE/report.yml +1 -1
- data/.github/workflows/ci.yml +37 -0
- data/.rubocop.yml +3 -0
- data/CHANGELOG.md +18 -1
- data/Gemfile +5 -0
- data/README.md +7 -1
- data/gruff.gemspec +1 -1
- data/lib/gruff/accumulator_bar.rb +3 -1
- data/lib/gruff/area.rb +5 -2
- data/lib/gruff/bar.rb +18 -9
- data/lib/gruff/base.rb +193 -68
- data/lib/gruff/bezier.rb +6 -3
- data/lib/gruff/box.rb +40 -16
- data/lib/gruff/bubble.rb +9 -2
- data/lib/gruff/bullet.rb +8 -1
- data/lib/gruff/candlestick.rb +30 -8
- data/lib/gruff/dot.rb +13 -3
- data/lib/gruff/font.rb +12 -4
- data/lib/gruff/helper/bar_conversion.rb +12 -1
- data/lib/gruff/helper/bar_mixin.rb +19 -1
- data/lib/gruff/helper/bar_value_label.rb +22 -4
- data/lib/gruff/helper/stacked_mixin.rb +21 -1
- data/lib/gruff/histogram.rb +14 -5
- data/lib/gruff/line.rb +31 -12
- data/lib/gruff/mini/bar.rb +2 -2
- data/lib/gruff/mini/legend.rb +10 -1
- data/lib/gruff/mini/pie.rb +2 -2
- data/lib/gruff/mini/side_bar.rb +2 -2
- data/lib/gruff/net.rb +12 -7
- data/lib/gruff/patch/rmagick.rb +2 -0
- data/lib/gruff/patch/string.rb +1 -1
- data/lib/gruff/pie.rb +46 -11
- data/lib/gruff/renderer/bezier.rb +7 -0
- data/lib/gruff/renderer/circle.rb +11 -0
- data/lib/gruff/renderer/dash_line.rb +11 -0
- data/lib/gruff/renderer/dot.rb +11 -0
- data/lib/gruff/renderer/ellipse.rb +12 -0
- data/lib/gruff/renderer/line.rb +10 -0
- data/lib/gruff/renderer/polygon.rb +6 -0
- data/lib/gruff/renderer/polyline.rb +8 -0
- data/lib/gruff/renderer/rectangle.rb +11 -0
- data/lib/gruff/renderer/renderer.rb +16 -5
- data/lib/gruff/renderer/text.rb +19 -2
- data/lib/gruff/scatter.rb +16 -8
- data/lib/gruff/side_bar.rb +19 -10
- data/lib/gruff/side_stacked_bar.rb +15 -11
- data/lib/gruff/spider.rb +9 -2
- data/lib/gruff/stacked_area.rb +6 -1
- data/lib/gruff/stacked_bar.rb +16 -10
- data/lib/gruff/store/basic_data.rb +36 -2
- data/lib/gruff/store/store.rb +16 -3
- data/lib/gruff/store/xy_data.rb +32 -2
- data/lib/gruff/store/xy_pointsizes_data.rb +36 -3
- data/lib/gruff/themes.rb +2 -0
- data/lib/gruff/version.rb +3 -1
- data/lib/gruff.rb +3 -1
- data/sig/generated/gruff/accumulator_bar.rbs +19 -0
- data/sig/generated/gruff/area.rbs +27 -0
- data/sig/generated/gruff/bar.rbs +74 -0
- data/sig/generated/gruff/base.rbs +672 -0
- data/sig/generated/gruff/bezier.rbs +24 -0
- data/sig/generated/gruff/box.rbs +88 -0
- data/sig/generated/gruff/bubble.rbs +69 -0
- data/sig/generated/gruff/bullet.rbs +30 -0
- data/sig/generated/gruff/candlestick.rbs +79 -0
- data/sig/generated/gruff/dot.rbs +44 -0
- data/sig/generated/gruff/font.rbs +35 -0
- data/sig/generated/gruff/helper/bar_conversion.rbs +27 -0
- data/sig/generated/gruff/helper/bar_mixin.rbs +22 -0
- data/sig/generated/gruff/helper/bar_value_label.rbs +41 -0
- data/sig/generated/gruff/helper/stacked_mixin.rbs +27 -0
- data/sig/generated/gruff/histogram.rbs +42 -0
- data/sig/generated/gruff/line.rbs +165 -0
- data/sig/generated/gruff/net.rbs +52 -0
- data/sig/generated/gruff/pie.rbs +131 -0
- data/sig/generated/gruff/renderer/bezier.rbs +15 -0
- data/sig/generated/gruff/renderer/circle.rbs +19 -0
- data/sig/generated/gruff/renderer/dash_line.rbs +19 -0
- data/sig/generated/gruff/renderer/dot.rbs +27 -0
- data/sig/generated/gruff/renderer/ellipse.rbs +20 -0
- data/sig/generated/gruff/renderer/line.rbs +24 -0
- data/sig/generated/gruff/renderer/polyline.rbs +16 -0
- data/sig/generated/gruff/renderer/rectangle.rbs +19 -0
- data/sig/generated/gruff/renderer/renderer.rbs +43 -0
- data/sig/generated/gruff/renderer/text.rbs +38 -0
- data/sig/generated/gruff/scatter.rbs +112 -0
- data/sig/generated/gruff/side_bar.rbs +78 -0
- data/sig/generated/gruff/side_stacked_bar.rbs +52 -0
- data/sig/generated/gruff/spider.rbs +50 -0
- data/sig/generated/gruff/stacked_area.rbs +25 -0
- data/sig/generated/gruff/stacked_bar.rbs +56 -0
- data/sig/generated/gruff/store/basic_data.rbs +48 -0
- data/sig/generated/gruff/store/store.rbs +53 -0
- data/sig/generated/gruff/store/xy_data.rbs +58 -0
- data/sig/generated/gruff/store/xy_pointsizes_data.rbs +61 -0
- data/sig/generated/gruff/themes.rbs +24 -0
- data/sig/generated/gruff/version.rbs +5 -0
- data/sig/generated/gruff.rbs +20 -0
- metadata +51 -6
@@ -0,0 +1,52 @@
|
|
1
|
+
# Generated from lib/gruff/net.rb with RBS::Inline
|
2
|
+
|
3
|
+
# See also the Spider graph.
|
4
|
+
#
|
5
|
+
# Here's how to make a Gruff::Net.
|
6
|
+
#
|
7
|
+
# g = Gruff::Net.new
|
8
|
+
# g.title = "Net Graph"
|
9
|
+
# g.labels = {
|
10
|
+
# 0 => '5/6',
|
11
|
+
# 1 => '5/15',
|
12
|
+
# 2 => '5/24',
|
13
|
+
# 3 => '5/30',
|
14
|
+
# 4 => '6/4',
|
15
|
+
# 5 => '6/12',
|
16
|
+
# 6 => '6/21',
|
17
|
+
# 7 => '6/28'
|
18
|
+
# }
|
19
|
+
# g.line_width = 3
|
20
|
+
# g.dot_radius = 4
|
21
|
+
# g.data :Jimmy, [25, 36, 86, 39, 25, 31, 79, 88]
|
22
|
+
# g.data :Julie, [22, 29, 35, 38, 36, 40, 46, 57]
|
23
|
+
# g.write("net.png")
|
24
|
+
class Gruff::Net < Gruff::Base
|
25
|
+
# Hide parts of the graph to fit more data points, or for a different appearance.
|
26
|
+
attr_writer hide_dots: bool
|
27
|
+
|
28
|
+
# Dimensions of lines and dots; calculated based on dataset size if left unspecified.
|
29
|
+
attr_writer line_width: Float | Integer
|
30
|
+
|
31
|
+
attr_writer dot_radius: Float | Integer
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
def initialize_attributes: () -> untyped
|
36
|
+
|
37
|
+
def setup_drawing: () -> untyped
|
38
|
+
|
39
|
+
def setup_graph_measurements: () -> untyped
|
40
|
+
|
41
|
+
def draw_graph: () -> untyped
|
42
|
+
|
43
|
+
# the lines connecting in the center, with the first line vertical
|
44
|
+
def draw_line_markers: () -> untyped
|
45
|
+
|
46
|
+
# @rbs center_x: Float | Integer
|
47
|
+
# @rbs center_y: Float | Integer
|
48
|
+
# @rbs angle: Float | Integer
|
49
|
+
# @rbs radius: Float
|
50
|
+
# @rbs amount: String | Integer
|
51
|
+
def draw_label: (Float | Integer center_x, Float | Integer center_y, Float | Integer angle, Float radius, String | Integer amount) -> untyped
|
52
|
+
end
|
@@ -0,0 +1,131 @@
|
|
1
|
+
# Generated from lib/gruff/pie.rb with RBS::Inline
|
2
|
+
|
3
|
+
#
|
4
|
+
# Here's how to make a Gruff::Pie.
|
5
|
+
#
|
6
|
+
# g = Gruff::Pie.new
|
7
|
+
# g.title = "Visual Pie Graph Test"
|
8
|
+
# g.data 'Fries', 20
|
9
|
+
# g.data 'Hamburgers', 50
|
10
|
+
# g.write("pie_keynote.png")
|
11
|
+
#
|
12
|
+
# To control where the pie chart starts creating slices, use {#start_degree=}.
|
13
|
+
class Gruff::Pie < Gruff::Base
|
14
|
+
DEFAULT_TEXT_OFFSET_PERCENTAGE: ::Float
|
15
|
+
|
16
|
+
# Can be used to make the pie start cutting slices at the top (-90.0)
|
17
|
+
# or at another angle. Default is +-90.0+, which starts at 3 o'clock.
|
18
|
+
attr_writer start_degree: Float | Integer
|
19
|
+
|
20
|
+
# Set the number output format lambda.
|
21
|
+
attr_writer label_formatting: Proc
|
22
|
+
|
23
|
+
# Do not show labels for slices that are less than this percent. Use 0 to always show all labels.
|
24
|
+
# Defaults to +0+.
|
25
|
+
attr_writer hide_labels_less_than: Float | Integer
|
26
|
+
|
27
|
+
# Affect the distance between the percentages and the pie chart.
|
28
|
+
# Defaults to +0.1+.
|
29
|
+
attr_writer text_offset_percentage: Float | Integer
|
30
|
+
|
31
|
+
# # Use values instead of percentages.
|
32
|
+
attr_writer show_values_as_labels: bool
|
33
|
+
|
34
|
+
# Set to +true+ if you want the data sets sorted with largest avg values drawn
|
35
|
+
# first. Default is +true+.
|
36
|
+
attr_writer sort: bool
|
37
|
+
|
38
|
+
# Can be used to make the pie start cutting slices at the top (-90.0)
|
39
|
+
# or at another angle. Default is +-90.0+, which starts at 3 o'clock.
|
40
|
+
# @deprecated Please use {#start_degree=} instead.
|
41
|
+
def zero_degree=: (untyped value) -> untyped
|
42
|
+
|
43
|
+
private
|
44
|
+
|
45
|
+
def initialize_attributes: () -> untyped
|
46
|
+
|
47
|
+
def setup_drawing: () -> untyped
|
48
|
+
|
49
|
+
def draw_graph: () -> untyped
|
50
|
+
|
51
|
+
def slices: () -> untyped
|
52
|
+
|
53
|
+
# @rbs degree: Float | Integer
|
54
|
+
def update_chart_degrees_with: (untyped degrees) -> untyped
|
55
|
+
|
56
|
+
# @rbs return: Float | Integer
|
57
|
+
def chart_degrees: () -> (Float | Integer)
|
58
|
+
|
59
|
+
attr_reader graph_height: Float | Integer
|
60
|
+
|
61
|
+
attr_reader graph_width: Float | Integer
|
62
|
+
|
63
|
+
# @rbs return: Float | Integer
|
64
|
+
def half_width: () -> (Float | Integer)
|
65
|
+
|
66
|
+
# @rbs return: Float | Integer
|
67
|
+
def half_height: () -> (Float | Integer)
|
68
|
+
|
69
|
+
# @rbs return: Float | Integer
|
70
|
+
def radius: () -> (Float | Integer)
|
71
|
+
|
72
|
+
# @rbs return: Float | Integer
|
73
|
+
def center_x: () -> (Float | Integer)
|
74
|
+
|
75
|
+
# @rbs return: Float | Integer
|
76
|
+
def center_y: () -> (Float | Integer)
|
77
|
+
|
78
|
+
# @rbs return: Float | Integer
|
79
|
+
def distance_from_center: () -> (Float | Integer)
|
80
|
+
|
81
|
+
# @rbs return: Float | Integer | BigDecimal
|
82
|
+
def radius_offset: () -> (Float | Integer | BigDecimal)
|
83
|
+
|
84
|
+
# @rbs return: Float | Integer
|
85
|
+
def ellipse_factor: () -> (Float | Integer)
|
86
|
+
|
87
|
+
# @rbs slice: Gruff::Pie::PieSlice
|
88
|
+
def process_label_for: (Gruff::Pie::PieSlice slice) -> untyped
|
89
|
+
|
90
|
+
# @rbs slice: Gruff::Pie::PieSlice
|
91
|
+
# @rbs return: [Float | Integer, Float | Integer]
|
92
|
+
def label_coordinates_for: (Gruff::Pie::PieSlice slice) -> [ Float | Integer, Float | Integer ]
|
93
|
+
|
94
|
+
# @rbs angle: Float | Integer
|
95
|
+
# @rbs return: Float
|
96
|
+
def x_label_coordinate: (Float | Integer angle) -> Float
|
97
|
+
|
98
|
+
# @rbs angle: Float | Integer
|
99
|
+
# @rbs return: Float
|
100
|
+
def y_label_coordinate: (Float | Integer angle) -> Float
|
101
|
+
|
102
|
+
# Helper Classes
|
103
|
+
#
|
104
|
+
# @private
|
105
|
+
class PieSlice
|
106
|
+
attr_accessor label: String | Symbol
|
107
|
+
|
108
|
+
attr_accessor value: Float | Integer
|
109
|
+
|
110
|
+
attr_accessor color: String
|
111
|
+
|
112
|
+
attr_accessor total: Float | Integer
|
113
|
+
|
114
|
+
# @rbs label: String | Symbol
|
115
|
+
# @rbs value: nil | Float | Integer
|
116
|
+
# @rbs color: String
|
117
|
+
# @rbs return: void
|
118
|
+
def initialize: (String | Symbol label, nil | Float | Integer value, String color) -> void
|
119
|
+
|
120
|
+
# @rbs return: Float | Integer
|
121
|
+
def percentage: () -> (Float | Integer)
|
122
|
+
|
123
|
+
# @rbs return: Float
|
124
|
+
def degrees: () -> Float
|
125
|
+
|
126
|
+
private
|
127
|
+
|
128
|
+
# @rbs return: Float | Integer
|
129
|
+
def size: () -> (Float | Integer)
|
130
|
+
end
|
131
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# Generated from lib/gruff/renderer/bezier.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Gruff
|
4
|
+
# @private
|
5
|
+
class Renderer::Bezier
|
6
|
+
# @rbs renderer: Gruff::Renderer
|
7
|
+
# @rbs color: String
|
8
|
+
# @rbs width: Float | Integer
|
9
|
+
# @rbs return: void
|
10
|
+
def initialize: (Gruff::Renderer renderer, color: String, ?width: Float | Integer) -> void
|
11
|
+
|
12
|
+
# @rbs points: Array[Float | Integer]
|
13
|
+
def render: (Array[Float | Integer] points) -> untyped
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# Generated from lib/gruff/renderer/circle.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Gruff
|
4
|
+
# @private
|
5
|
+
class Renderer::Circle
|
6
|
+
# @rbs renderer: Gruff::Renderer
|
7
|
+
# @rbs color: String
|
8
|
+
# @rbs width: Float | Integer
|
9
|
+
# @rbs opacity: Float | Integer
|
10
|
+
# @rbs return: void
|
11
|
+
def initialize: (Gruff::Renderer renderer, color: String, ?width: Float | Integer, ?opacity: Float | Integer) -> void
|
12
|
+
|
13
|
+
# @rbs origin_x: Float | Integer
|
14
|
+
# @rbs origin_y: Float | Integer
|
15
|
+
# @rbs perim_x: Float | Integer
|
16
|
+
# @rbs perim_y: Float | Integer
|
17
|
+
def render: (Float | Integer origin_x, Float | Integer origin_y, Float | Integer perim_x, Float | Integer perim_y) -> untyped
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# Generated from lib/gruff/renderer/dash_line.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Gruff
|
4
|
+
# @private
|
5
|
+
class Renderer::DashLine
|
6
|
+
# @rbs renderer: Gruff::Renderer
|
7
|
+
# @rbs color: String
|
8
|
+
# @rbs width: Float | Integer
|
9
|
+
# @rbs dasharray: Array[Float | Integer]
|
10
|
+
# @rbs return: void
|
11
|
+
def initialize: (Gruff::Renderer renderer, color: String, width: Float | Integer, ?dasharray: Array[Float | Integer]) -> void
|
12
|
+
|
13
|
+
# @rbs start_x: Float | Integer
|
14
|
+
# @rbs start_y: Float | Integer
|
15
|
+
# @rbs end_x: Float | Integer
|
16
|
+
# @rbs end_y: Float | Integer
|
17
|
+
def render: (Float | Integer start_x, Float | Integer start_y, Float | Integer end_x, Float | Integer end_y) -> untyped
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# Generated from lib/gruff/renderer/dot.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Gruff
|
4
|
+
# @private
|
5
|
+
class Renderer::Dot
|
6
|
+
# @rbs renderer: Gruff::Renderer
|
7
|
+
# @rbs style: :square | :circle | :diamond | 'square' | 'circle' | 'diamond'
|
8
|
+
# @rbs color: String
|
9
|
+
# @rbs width: Float | Integer
|
10
|
+
# @rbs opacity: Float | Integer
|
11
|
+
# @rbs return: void
|
12
|
+
def initialize: (Gruff::Renderer renderer, :square | :circle | :diamond | "square" | "circle" | "diamond" style, color: String, ?width: Float | Integer, ?opacity: Float | Integer) -> void
|
13
|
+
|
14
|
+
# @rbs new_x: Float | Integer
|
15
|
+
# @rbs new_y: Float | Integer
|
16
|
+
# @rbs radius: Float | Integer
|
17
|
+
def render: (Float | Integer new_x, Float | Integer new_y, Float | Integer radius) -> untyped
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def circle: (untyped new_x, untyped new_y, untyped radius) -> untyped
|
22
|
+
|
23
|
+
def square: (untyped new_x, untyped new_y, untyped radius) -> untyped
|
24
|
+
|
25
|
+
def diamond: (untyped new_x, untyped new_y, untyped radius) -> untyped
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# Generated from lib/gruff/renderer/ellipse.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Gruff
|
4
|
+
# @private
|
5
|
+
class Renderer::Ellipse
|
6
|
+
# @rbs renderer: Gruff::Renderer
|
7
|
+
# @rbs color: String
|
8
|
+
# @rbs width: Float | Integer
|
9
|
+
# @rbs return: void
|
10
|
+
def initialize: (Gruff::Renderer renderer, color: String, ?width: Float | Integer) -> void
|
11
|
+
|
12
|
+
# @rbs origin_x: Float | Integer
|
13
|
+
# @rbs origin_y: Float | Integer
|
14
|
+
# @rbs width: Float | Integer
|
15
|
+
# @rbs height: Float | Integer
|
16
|
+
# @rbs arc_start: Float | Integer
|
17
|
+
# @rbs arc_end: Float | Integer
|
18
|
+
def render: (Float | Integer origin_x, Float | Integer origin_y, Float | Integer width, Float | Integer height, Float | Integer arc_start, Float | Integer arc_end) -> untyped
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# Generated from lib/gruff/renderer/line.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Gruff
|
4
|
+
# @private
|
5
|
+
class Renderer::Line
|
6
|
+
EPSILON: ::Float
|
7
|
+
|
8
|
+
# @rbs renderer: Gruff::Renderer
|
9
|
+
# @rbs color: String
|
10
|
+
# @rbs width: Float | Integer
|
11
|
+
# @rbs return: void
|
12
|
+
def initialize: (Gruff::Renderer renderer, color: String, ?width: Float | Integer) -> void
|
13
|
+
|
14
|
+
# @rbs start_x: Float | Integer
|
15
|
+
# @rbs start_y: Float | Integer
|
16
|
+
# @rbs end_x: Float | Integer
|
17
|
+
# @rbs end_y: Float | Integer
|
18
|
+
def render: (Float | Integer start_x, Float | Integer start_y, Float | Integer end_x, Float | Integer end_y) -> untyped
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
def render_line: (untyped start_x, untyped start_y, untyped end_x, untyped end_y, untyped color) -> untyped
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# Generated from lib/gruff/renderer/polyline.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Gruff
|
4
|
+
# @private
|
5
|
+
class Renderer::Polyline
|
6
|
+
# @rbs renderer: Gruff::Renderer
|
7
|
+
# @rbs color: String
|
8
|
+
# @rbs width: Float | Integer
|
9
|
+
# @rbs linejoin: String
|
10
|
+
# @rbs return: void
|
11
|
+
def initialize: (Gruff::Renderer renderer, color: String, ?width: Float | Integer, ?linejoin: String) -> void
|
12
|
+
|
13
|
+
# @rbs points: Array[Float | Integer]
|
14
|
+
def render: (Array[Float | Integer] points) -> untyped
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# Generated from lib/gruff/renderer/rectangle.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Gruff
|
4
|
+
# @private
|
5
|
+
class Renderer::Rectangle
|
6
|
+
# @rbs renderer: Gruff::Renderer
|
7
|
+
# @rbs color: String
|
8
|
+
# @rbs width: Float | Integer
|
9
|
+
# @rbs opacity: Float | Integer
|
10
|
+
# @rbs return: void
|
11
|
+
def initialize: (Gruff::Renderer renderer, ?color: String, ?width: Float | Integer, ?opacity: Float | Integer) -> void
|
12
|
+
|
13
|
+
# @rbs upper_left_x: Float | Integer
|
14
|
+
# @rbs upper_left_y: Float | Integer
|
15
|
+
# @rbs lower_right_x: Float | Integer
|
16
|
+
# @rbs lower_right_y: Float | Integer
|
17
|
+
def render: (Float | Integer upper_left_x, Float | Integer upper_left_y, Float | Integer lower_right_x, Float | Integer lower_right_y) -> untyped
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# Generated from lib/gruff/renderer/renderer.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Gruff
|
4
|
+
# @private
|
5
|
+
class Renderer
|
6
|
+
attr_accessor text_renderers: Array[Gruff::Renderer::Text]
|
7
|
+
|
8
|
+
attr_reader draw: untyped
|
9
|
+
|
10
|
+
attr_reader image: untyped
|
11
|
+
|
12
|
+
attr_reader scale: real
|
13
|
+
|
14
|
+
# @rbs columns: Integer
|
15
|
+
# @rbs rows: Integer
|
16
|
+
# @rbs scale: Float | Integer
|
17
|
+
# @rbs theme_options: ::Hash[Symbol, untyped]
|
18
|
+
# @rbs return: void
|
19
|
+
def initialize: (Integer columns, Integer rows, Float | Integer scale, ::Hash[Symbol, untyped] theme_options) -> void
|
20
|
+
|
21
|
+
def finish: () -> untyped
|
22
|
+
|
23
|
+
# @rbs columns: Integer
|
24
|
+
# @rbs rows: Integer
|
25
|
+
def transparent_background: (Integer columns, Integer rows) -> untyped
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
def background: (untyped columns, untyped rows, untyped scale, untyped theme_options) -> untyped
|
30
|
+
|
31
|
+
# Use with a theme to use an image (800x600 original) background.
|
32
|
+
def image_background: (untyped scale, untyped image_path) -> untyped
|
33
|
+
|
34
|
+
# Make a new image at the current size with a solid +color+.
|
35
|
+
def solid_background: (untyped columns, untyped rows, untyped color) -> untyped
|
36
|
+
|
37
|
+
# Use with a theme definition method to draw a gradated background.
|
38
|
+
def gradated_background: (untyped columns, untyped rows, untyped top_color, untyped bottom_color, ?untyped direct) -> untyped
|
39
|
+
|
40
|
+
# Use with a theme to make a transparent background
|
41
|
+
def render_transparent_background: (untyped columns, untyped rows) -> untyped
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# Generated from lib/gruff/renderer/text.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Gruff
|
4
|
+
# @private
|
5
|
+
class Renderer::Text
|
6
|
+
# @rbs renderer: Gruff::Renderer
|
7
|
+
# @rbs text: String
|
8
|
+
# @rbs font: Gruff::Font
|
9
|
+
# @rbs rotation: Float | Integer
|
10
|
+
def initialize: (Gruff::Renderer renderer, String text, font: Gruff::Font, ?rotation: Float | Integer) -> untyped
|
11
|
+
|
12
|
+
attr_reader width: Float | Integer
|
13
|
+
|
14
|
+
attr_reader height: Float | Integer
|
15
|
+
|
16
|
+
attr_reader x: Float | Integer
|
17
|
+
|
18
|
+
attr_reader y: Float | Integer
|
19
|
+
|
20
|
+
attr_reader gravity: untyped
|
21
|
+
|
22
|
+
# @rbs width: Float | Integer
|
23
|
+
# @rbs height: Float | Integer
|
24
|
+
# @rbs x: Float | Integer
|
25
|
+
# @rbs y: Float | Integer
|
26
|
+
# @rbs gravity: untyped
|
27
|
+
def add_to_render_queue: (Float | Integer width, Float | Integer height, Float | Integer x, Float | Integer y, ?untyped gravity) -> untyped
|
28
|
+
|
29
|
+
# @rbs width: Float | Integer
|
30
|
+
# @rbs height: Float | Integer
|
31
|
+
# @rbs x: Float | Integer
|
32
|
+
# @rbs y: Float | Integer
|
33
|
+
# @rbs gravity: untyped
|
34
|
+
def render: (Float | Integer width, Float | Integer height, Float | Integer x, Float | Integer y, ?untyped gravity) -> untyped
|
35
|
+
|
36
|
+
def metrics: () -> untyped
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,112 @@
|
|
1
|
+
# Generated from lib/gruff/scatter.rb with RBS::Inline
|
2
|
+
|
3
|
+
#
|
4
|
+
# Here's how to set up a Gruff::Scatter.
|
5
|
+
#
|
6
|
+
# g = Gruff::Scatter.new(800)
|
7
|
+
# g.data :apples, [1,2,3,4], [4,3,2,1]
|
8
|
+
# g.data 'oranges', [5,7,8], [4,1,7]
|
9
|
+
# g.write('scatter.png')
|
10
|
+
class Gruff::Scatter < Gruff::Base
|
11
|
+
# Maximum X Value. The value will get overwritten by the max in the
|
12
|
+
# datasets.
|
13
|
+
attr_writer maximum_x_value: Float | Integer
|
14
|
+
|
15
|
+
# Minimum X Value. The value will get overwritten by the min in the
|
16
|
+
# datasets.
|
17
|
+
attr_writer minimum_x_value: Float | Integer
|
18
|
+
|
19
|
+
# The number of vertical lines shown for reference.
|
20
|
+
attr_writer marker_x_count: Integer
|
21
|
+
|
22
|
+
# Attributes to allow customising the size of the points.
|
23
|
+
attr_writer circle_radius: Float | Integer
|
24
|
+
|
25
|
+
attr_writer stroke_width: Float | Integer
|
26
|
+
|
27
|
+
# Allow for vertical marker lines.
|
28
|
+
attr_writer show_vertical_markers: bool
|
29
|
+
|
30
|
+
# Allow enabling vertical lines. When you have a lot of data, they can work great.
|
31
|
+
# @deprecated Please use {#show_vertical_markers=} instead.
|
32
|
+
def enable_vertical_line_markers=: (untyped value) -> untyped
|
33
|
+
|
34
|
+
# Allow using vertical labels in the X axis.
|
35
|
+
# @deprecated Please use {Gruff::Base#label_rotation=} instead.
|
36
|
+
def use_vertical_x_labels=: (untyped _value) -> untyped
|
37
|
+
|
38
|
+
# Allow using vertical labels in the X axis (and setting the label margin).
|
39
|
+
# @deprecated
|
40
|
+
def x_label_margin=: (untyped _value) -> untyped
|
41
|
+
|
42
|
+
# Allow disabling the significant rounding when labeling the X axis.
|
43
|
+
# This is useful when working with a small range of high values (for example, a date range of months, while seconds as units).
|
44
|
+
# @deprecated
|
45
|
+
def disable_significant_rounding_x_axis=: (untyped _value) -> untyped
|
46
|
+
|
47
|
+
# The first parameter is the name of the dataset. The next two are the
|
48
|
+
# x and y axis data points contain in their own array in that respective
|
49
|
+
# order. The final parameter is the color.
|
50
|
+
#
|
51
|
+
# Can be called multiple times with different datasets for a multi-valued
|
52
|
+
# graph.
|
53
|
+
#
|
54
|
+
# If the color argument is nil, the next color from the default theme will
|
55
|
+
# be used.
|
56
|
+
#
|
57
|
+
# @note If you want to use a preset theme, you must set it before calling {#data}.
|
58
|
+
#
|
59
|
+
# @param name [String, Symbol] containing the name of the dataset.
|
60
|
+
# @param x_data_points [Array] An Array of x-axis data points.
|
61
|
+
# @param y_data_points [Array] An Array of y-axis data points.
|
62
|
+
# @param color [String] The hex string for the color of the dataset. Defaults to nil.
|
63
|
+
#
|
64
|
+
# @raise [ArgumentError] Data points contain nil values.
|
65
|
+
# This error will get raised if either the x or y axis data points array
|
66
|
+
# contains a +nil+ value. The graph will not make an assumption
|
67
|
+
# as how to graph +nil+.
|
68
|
+
# @raise [ArgumentError] +x_data_points+ is empty.
|
69
|
+
# This error is raised when the array for the x-axis points are empty
|
70
|
+
# @raise [ArgumentError] +y_data_points+ is empty.
|
71
|
+
# This error is raised when the array for the y-axis points are empty.
|
72
|
+
# @raise [ArgumentError] +x_data_points.length != y_data_points.length+.
|
73
|
+
# Error means that the x and y axis point arrays do not match in length.
|
74
|
+
#
|
75
|
+
# @example
|
76
|
+
# g = Gruff::Scatter.new
|
77
|
+
# g.data(:apples, [1,2,3], [3,2,1])
|
78
|
+
# g.data('oranges', [1,1,1], [2,3,4])
|
79
|
+
# g.data('bitter_melon', [3,5,6], [6,7,8], '#000000')
|
80
|
+
#
|
81
|
+
# @rbs name: String | Symbol
|
82
|
+
# @rbs x_data_points: Array[nil | Float | Integer] | nil
|
83
|
+
# @rbs y_data_points: Array[nil | Float | Integer] | nil
|
84
|
+
# @rbs color: String
|
85
|
+
def data: (String | Symbol name, ?Array[nil | Float | Integer] | nil x_data_points, ?Array[nil | Float | Integer] | nil y_data_points, ?String color) -> untyped
|
86
|
+
|
87
|
+
alias dataxy data
|
88
|
+
|
89
|
+
private
|
90
|
+
|
91
|
+
def initialize_store: () -> untyped
|
92
|
+
|
93
|
+
def initialize_attributes: () -> untyped
|
94
|
+
|
95
|
+
def setup_drawing: () -> untyped
|
96
|
+
|
97
|
+
def setup_data: () -> untyped
|
98
|
+
|
99
|
+
def draw_graph: () -> untyped
|
100
|
+
|
101
|
+
def calculate_spread: () -> untyped
|
102
|
+
|
103
|
+
def normalize: () -> untyped
|
104
|
+
|
105
|
+
def draw_line_markers: () -> untyped
|
106
|
+
|
107
|
+
# @rbs return: Integer
|
108
|
+
def marker_x_count: () -> Integer
|
109
|
+
|
110
|
+
# @rbs return: Float | Integer | BigDecimal
|
111
|
+
def x_increment: () -> (Float | Integer | BigDecimal)
|
112
|
+
end
|
@@ -0,0 +1,78 @@
|
|
1
|
+
# Generated from lib/gruff/side_bar.rb with RBS::Inline
|
2
|
+
|
3
|
+
# Graph with individual horizontal bars instead of vertical bars.
|
4
|
+
#
|
5
|
+
# Here's how to set up a Gruff::SideBar.
|
6
|
+
#
|
7
|
+
# g = Gruff::SideBar.new
|
8
|
+
# g.title = 'SideBar Graph'
|
9
|
+
# g.labels = {
|
10
|
+
# 0 => '5/6',
|
11
|
+
# 1 => '5/15',
|
12
|
+
# 2 => '5/24',
|
13
|
+
# 3 => '5/30',
|
14
|
+
# }
|
15
|
+
# g.group_spacing = 20
|
16
|
+
# g.data :Art, [0, 5, 8, 15]
|
17
|
+
# g.data :Philosophy, [10, 3, 2, 8]
|
18
|
+
# g.data :Science, [2, 15, 8, 11]
|
19
|
+
# g.write('sidebar.png')
|
20
|
+
class Gruff::SideBar < Gruff::Base
|
21
|
+
include Gruff::Base::BarMixin
|
22
|
+
|
23
|
+
# Spacing factor applied between bars.
|
24
|
+
attr_writer bar_spacing: Float | Integer
|
25
|
+
|
26
|
+
# Spacing factor applied between a group of bars belonging to the same label.
|
27
|
+
attr_writer group_spacing: Float | Integer
|
28
|
+
|
29
|
+
# Set the number output format string or lambda.
|
30
|
+
# Default is +"%.2f"+.
|
31
|
+
attr_writer label_formatting: nil | String | Proc
|
32
|
+
|
33
|
+
# Output the values for the bars on a bar graph.
|
34
|
+
# Default is +false+.
|
35
|
+
attr_writer show_labels_for_bar_values: bool
|
36
|
+
|
37
|
+
# Prevent drawing of column labels left of a side bar graph. Default is +false+.
|
38
|
+
attr_writer hide_labels: bool
|
39
|
+
|
40
|
+
# Value to avoid completely overwriting the coordinate axis
|
41
|
+
AXIS_MARGIN: ::Float
|
42
|
+
|
43
|
+
# @rbs target_width: (String | Float | Integer)
|
44
|
+
# @rbs return: void
|
45
|
+
def initialize: (?String | Float | Integer target_width) -> void
|
46
|
+
|
47
|
+
# With Side Bars use the data label for the marker value to the left of the bar.
|
48
|
+
# @deprecated
|
49
|
+
def use_data_label=: (untyped _value) -> untyped
|
50
|
+
|
51
|
+
private
|
52
|
+
|
53
|
+
def initialize_attributes: () -> untyped
|
54
|
+
|
55
|
+
# @rbs return: bool
|
56
|
+
def hide_labels?: () -> bool
|
57
|
+
|
58
|
+
# @rbs return: bool
|
59
|
+
def hide_left_label_area?: () -> bool
|
60
|
+
|
61
|
+
# @rbs return: bool
|
62
|
+
def hide_bottom_label_area?: () -> bool
|
63
|
+
|
64
|
+
def setup_graph_measurements: () -> untyped
|
65
|
+
|
66
|
+
def draw_graph: () -> untyped
|
67
|
+
|
68
|
+
# Instead of base class version, draws vertical background lines and label
|
69
|
+
def draw_line_markers: () -> untyped
|
70
|
+
|
71
|
+
def draw_label: (untyped y_offset, untyped index) -> untyped
|
72
|
+
|
73
|
+
# @rbs return: Float | Integer
|
74
|
+
def calculate_spacing: () -> (Float | Integer)
|
75
|
+
|
76
|
+
# @rbs return: Proc
|
77
|
+
def proc_text_metrics: () -> Proc
|
78
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# Generated from lib/gruff/side_stacked_bar.rb with RBS::Inline
|
2
|
+
|
3
|
+
#
|
4
|
+
# New gruff graph type added to enable sideways stacking bar charts
|
5
|
+
# (basically looks like a x/y flip of a standard stacking bar chart)
|
6
|
+
#
|
7
|
+
# Here's how to set up a Gruff::SideStackedBar.
|
8
|
+
#
|
9
|
+
# g = Gruff::SideStackedBar.new
|
10
|
+
# g.title = 'SideStackedBar Graph'
|
11
|
+
# g.labels = {
|
12
|
+
# 0 => '5/6',
|
13
|
+
# 1 => '5/15',
|
14
|
+
# 2 => '5/24',
|
15
|
+
# 3 => '5/30',
|
16
|
+
# }
|
17
|
+
# g.data :Art, [0, 5, 8, 15]
|
18
|
+
# g.data :Philosophy, [10, 3, 2, 8]
|
19
|
+
# g.data :Science, [2, 15, 8, 11]
|
20
|
+
# g.write('side_stacked_bar.png')
|
21
|
+
class Gruff::SideStackedBar < Gruff::SideBar
|
22
|
+
include Gruff::Base::StackedMixin
|
23
|
+
|
24
|
+
# Spacing factor applied between bars.
|
25
|
+
attr_writer bar_spacing: Float | Integer
|
26
|
+
|
27
|
+
# Number of pixels between bar segments.
|
28
|
+
attr_writer segment_spacing: Float | Integer
|
29
|
+
|
30
|
+
# Set the number output format string or lambda.
|
31
|
+
# Default is +"%.2f"+.
|
32
|
+
attr_writer label_formatting: nil | String | Proc
|
33
|
+
|
34
|
+
# Output the values for the bars on a bar graph.
|
35
|
+
# Default is +false+.
|
36
|
+
attr_writer show_labels_for_bar_values: bool
|
37
|
+
|
38
|
+
# Prevent drawing of column labels left of a side stacked bar graph. Default is +false+.
|
39
|
+
attr_writer hide_labels: bool
|
40
|
+
|
41
|
+
# @rbs target_width: (String | Float | Integer)
|
42
|
+
# @rbs return: void
|
43
|
+
def initialize: (?String | Float | Integer target_width) -> void
|
44
|
+
|
45
|
+
private
|
46
|
+
|
47
|
+
def initialize_attributes: () -> untyped
|
48
|
+
|
49
|
+
def setup_data: () -> untyped
|
50
|
+
|
51
|
+
def draw_graph: () -> untyped
|
52
|
+
end
|