gruff 0.11.0-java → 0.12.0-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -0
- data/gruff.gemspec +7 -3
- data/lib/gruff.rb +8 -3
- data/lib/gruff/accumulator_bar.rb +0 -2
- data/lib/gruff/area.rb +0 -4
- data/lib/gruff/bar.rb +18 -5
- data/lib/gruff/base.rb +78 -41
- data/lib/gruff/bezier.rb +0 -4
- data/lib/gruff/bullet.rb +2 -9
- data/lib/gruff/dot.rb +1 -5
- data/lib/gruff/helper/bar_conversion.rb +1 -1
- data/lib/gruff/helper/bar_value_label_mixin.rb +3 -0
- data/lib/gruff/histogram.rb +0 -1
- data/lib/gruff/line.rb +5 -11
- data/lib/gruff/mini/bar.rb +1 -1
- data/lib/gruff/mini/legend.rb +9 -4
- data/lib/gruff/mini/pie.rb +1 -2
- data/lib/gruff/mini/side_bar.rb +1 -2
- data/lib/gruff/net.rb +5 -6
- data/lib/gruff/patch/rmagick.rb +22 -24
- data/lib/gruff/patch/string.rb +7 -4
- data/lib/gruff/photo_bar.rb +0 -4
- data/lib/gruff/pie.rb +1 -5
- 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 +5 -4
- 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 -43
- data/lib/gruff/renderer/text.rb +10 -6
- data/lib/gruff/scatter.rb +1 -5
- data/lib/gruff/scene.rb +0 -1
- data/lib/gruff/side_bar.rb +22 -6
- data/lib/gruff/side_stacked_bar.rb +19 -6
- data/lib/gruff/spider.rb +2 -6
- data/lib/gruff/stacked_area.rb +0 -5
- data/lib/gruff/stacked_bar.rb +17 -5
- data/lib/gruff/store/{base_data.rb → basic_data.rb} +5 -7
- data/lib/gruff/store/custom_data.rb +4 -6
- data/lib/gruff/store/store.rb +5 -4
- data/lib/gruff/store/xy_data.rb +6 -7
- data/lib/gruff/version.rb +1 -1
- metadata +18 -15
- data/.editorconfig +0 -14
- data/.github/ISSUE_TEMPLATE.md +0 -18
- data/.gitignore +0 -10
- data/.rubocop.yml +0 -109
- data/.rubocop_todo.yml +0 -112
- data/.travis.yml +0 -26
- data/.yardopts +0 -1
- data/Rakefile +0 -47
- data/docker/Dockerfile +0 -14
- data/docker/build.sh +0 -4
- data/docker/launch.sh +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 86f7128ad67d7111e7f286742bef3ec55674923f120f7b53747c2aeb19011aa7
|
4
|
+
data.tar.gz: 8a8554f44e0c642a04d2aa87763696be6cba4d207e7bd33a8945df860fac9246
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c4c709368e7a3cb96390099e7577df107343e179005c374dda3ad0f1ec981304f556eea435c71b50214e622a11544c4bb7ca6ec8519af41616c9b463c69940ec
|
7
|
+
data.tar.gz: 19528b2ac748979d5acb64c7fd8ff3c66d819d03754249398ab4daacb16a44bac28afad60db20eac1c8b4e4b94e610508702c45c035e49da241847a4e42f834f
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## 0.12.0
|
4
|
+
- Mark Gruff::Base#to_blob as deprecated (#473)
|
5
|
+
- Add Gruff::Base#to_image method (#472)
|
6
|
+
- Drop support of Ruby v2.3.x or below (#453, #448)
|
7
|
+
- add hide_labels to stacked side bar graphs (#452)
|
8
|
+
- add hide_labels to side bar graphs (#451)
|
9
|
+
- add hide_labels to stacked bar graphs (#450)
|
10
|
+
- support hide_labels separate from hide_line_markers for bar graphs only (#446)
|
11
|
+
|
3
12
|
## 0.11.0
|
4
13
|
- Fix regression in empty data handling (#445)
|
5
14
|
- Rendering text in front most (#439)
|
data/gruff.gemspec
CHANGED
@@ -13,7 +13,9 @@ Gem::Specification.new do |s|
|
|
13
13
|
s.date = Date.today.to_s
|
14
14
|
s.description = 'Beautiful graphs for one or multiple datasets. Can be used on websites or in documents.'
|
15
15
|
s.email = 'boss@topfunky.com'
|
16
|
-
s.files = `git ls-files`.split
|
16
|
+
s.files = `git ls-files`.split.reject do |f|
|
17
|
+
f =~ /^\.|^test|^docker|^Rakefile/
|
18
|
+
end
|
17
19
|
s.homepage = 'https://github.com/topfunky/gruff'
|
18
20
|
s.require_paths = %w[lib]
|
19
21
|
s.summary = 'Beautiful graphs for one or multiple datasets.'
|
@@ -27,12 +29,14 @@ Gem::Specification.new do |s|
|
|
27
29
|
s.add_dependency 'rmagick4j'
|
28
30
|
else
|
29
31
|
s.add_dependency 'rmagick'
|
30
|
-
s.add_development_dependency 'rubocop', '~> 0.
|
32
|
+
s.add_development_dependency 'rubocop', '~> 1.0.0'
|
33
|
+
s.add_development_dependency 'rubocop-performance', '~> 1.8'
|
31
34
|
end
|
32
35
|
s.add_dependency 'histogram'
|
33
|
-
s.required_ruby_version = '>=
|
36
|
+
s.required_ruby_version = '>= 2.4.0'
|
34
37
|
|
35
38
|
s.add_development_dependency 'rake'
|
39
|
+
s.add_development_dependency 'parallel'
|
36
40
|
s.add_development_dependency 'minitest-reporters'
|
37
41
|
s.add_development_dependency 'yard', '~> 0.9.25'
|
38
42
|
end
|
data/lib/gruff.rb
CHANGED
@@ -9,8 +9,13 @@ require 'gruff/version'
|
|
9
9
|
patch/rmagick
|
10
10
|
patch/string
|
11
11
|
|
12
|
-
themes
|
13
12
|
base
|
13
|
+
|
14
|
+
helper/bar_conversion.rb
|
15
|
+
helper/stacked_mixin
|
16
|
+
helper/bar_value_label_mixin
|
17
|
+
|
18
|
+
themes
|
14
19
|
area
|
15
20
|
bar
|
16
21
|
bezier
|
@@ -22,10 +27,10 @@ require 'gruff/version'
|
|
22
27
|
pie
|
23
28
|
scatter
|
24
29
|
spider
|
30
|
+
side_bar
|
25
31
|
stacked_area
|
26
32
|
stacked_bar
|
27
33
|
side_stacked_bar
|
28
|
-
side_bar
|
29
34
|
accumulator_bar
|
30
35
|
|
31
36
|
scene
|
@@ -43,7 +48,7 @@ require 'gruff/version'
|
|
43
48
|
renderer/text
|
44
49
|
|
45
50
|
store/store
|
46
|
-
store/
|
51
|
+
store/basic_data
|
47
52
|
store/custom_data
|
48
53
|
store/xy_data
|
49
54
|
|
data/lib/gruff/area.rb
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'gruff/base'
|
4
|
-
|
5
3
|
#
|
6
4
|
# Gruff::Area provides an area graph which displays graphically
|
7
5
|
# quantitative data.
|
@@ -59,7 +57,5 @@ class Gruff::Area < Gruff::Base
|
|
59
57
|
|
60
58
|
Gruff::Renderer::Polygon.new(color: data_row.color, width: @stroke_width, opacity: @fill_opacity).render(poly_points)
|
61
59
|
end
|
62
|
-
|
63
|
-
Gruff::Renderer.finish
|
64
60
|
end
|
65
61
|
end
|
data/lib/gruff/bar.rb
CHANGED
@@ -1,8 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'gruff/base'
|
4
|
-
require 'gruff/helper/bar_conversion'
|
5
|
-
|
6
3
|
#
|
7
4
|
# Gruff::Bar provide a bar graph that presents categorical data
|
8
5
|
# with rectangular bars.
|
@@ -19,6 +16,8 @@ require 'gruff/helper/bar_conversion'
|
|
19
16
|
# g.write('bar.png')
|
20
17
|
#
|
21
18
|
class Gruff::Bar < Gruff::Base
|
19
|
+
using String::GruffCommify
|
20
|
+
|
22
21
|
# Spacing factor applied between bars.
|
23
22
|
attr_writer :bar_spacing
|
24
23
|
|
@@ -33,12 +32,16 @@ class Gruff::Bar < Gruff::Base
|
|
33
32
|
# Default is +false+.
|
34
33
|
attr_writer :show_labels_for_bar_values
|
35
34
|
|
35
|
+
# Prevent drawing of column labels below a bar graph. Default is +false+.
|
36
|
+
attr_writer :hide_labels
|
37
|
+
|
36
38
|
def initialize_ivars
|
37
39
|
super
|
38
40
|
@spacing_factor = 0.9
|
39
41
|
@group_spacing = 10
|
40
42
|
@label_formatting = nil
|
41
43
|
@show_labels_for_bar_values = false
|
44
|
+
@hide_labels = false
|
42
45
|
end
|
43
46
|
private :initialize_ivars
|
44
47
|
|
@@ -68,6 +71,18 @@ class Gruff::Bar < Gruff::Base
|
|
68
71
|
|
69
72
|
protected
|
70
73
|
|
74
|
+
def hide_labels?
|
75
|
+
@hide_labels
|
76
|
+
end
|
77
|
+
|
78
|
+
def hide_left_label_area?
|
79
|
+
@hide_line_markers
|
80
|
+
end
|
81
|
+
|
82
|
+
def hide_bottom_label_area?
|
83
|
+
hide_labels?
|
84
|
+
end
|
85
|
+
|
71
86
|
def draw_bars
|
72
87
|
# Setup spacing.
|
73
88
|
#
|
@@ -129,8 +144,6 @@ protected
|
|
129
144
|
|
130
145
|
# Draw the last label if requested
|
131
146
|
draw_label(@graph_right, column_count, Magick::NorthWestGravity) if @center_labels_over_point
|
132
|
-
|
133
|
-
Gruff::Renderer.finish
|
134
147
|
end
|
135
148
|
|
136
149
|
def calculate_spacing
|
data/lib/gruff/base.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'rmagick'
|
4
3
|
require 'bigdecimal'
|
5
4
|
|
6
5
|
##
|
@@ -17,6 +16,9 @@ require 'bigdecimal'
|
|
17
16
|
#
|
18
17
|
# See {Gruff::Base#theme=} for setting themes.
|
19
18
|
module Gruff
|
19
|
+
using String::GruffCommify
|
20
|
+
|
21
|
+
# A common base class inherited from class of drawing a graph.
|
20
22
|
class Base
|
21
23
|
# Space around text elements. Mostly used for vertical spacing.
|
22
24
|
LEGEND_MARGIN = TITLE_MARGIN = 20.0
|
@@ -195,11 +197,11 @@ module Gruff
|
|
195
197
|
protected :initialize_graph_scale
|
196
198
|
|
197
199
|
def initialize_store
|
198
|
-
@store = Gruff::Store.new(Gruff::Store::
|
200
|
+
@store = Gruff::Store.new(Gruff::Store::BasicData)
|
199
201
|
end
|
200
202
|
protected :initialize_store
|
201
203
|
|
202
|
-
# Initialize instance variable of
|
204
|
+
# Initialize instance variable of attributes
|
203
205
|
#
|
204
206
|
# Subclasses can override this, call super, then set values separately.
|
205
207
|
#
|
@@ -414,16 +416,40 @@ module Gruff
|
|
414
416
|
# @example
|
415
417
|
# write('graphs/my_pretty_graph.png')
|
416
418
|
def write(file_name = 'graph.png')
|
417
|
-
|
418
|
-
|
419
|
+
to_image.write(file_name)
|
420
|
+
end
|
421
|
+
|
422
|
+
# Return a rendered graph image.
|
423
|
+
# This can use RMagick's methods to adjust the image before saving.
|
424
|
+
#
|
425
|
+
# @return [Magick::Image] The rendered image.
|
426
|
+
#
|
427
|
+
# @example
|
428
|
+
# g = Gruff::Line.new
|
429
|
+
# g.data :Jimmy, [25, 36, 86, 39, 25, 31, 79, 88]
|
430
|
+
# g.data :Charles, [80, 54, 67, 54, 68, 70, 90, 95]
|
431
|
+
# image = g.to_image
|
432
|
+
# image = image.resize(400, 300).quantize(128, Magick::RGBColorspace)
|
433
|
+
# image.write('test.png')
|
434
|
+
#
|
435
|
+
def to_image
|
436
|
+
@to_image ||= begin
|
437
|
+
draw
|
438
|
+
Gruff::Renderer.finish
|
439
|
+
Gruff::Renderer.instance.image
|
440
|
+
end
|
419
441
|
end
|
420
442
|
|
421
443
|
# Return the graph as a rendered binary blob.
|
422
444
|
#
|
423
445
|
# @param image_format [String] The image format of binary blob.
|
446
|
+
#
|
447
|
+
# @deprecated Please use +to_image.to_blob+ instead.
|
424
448
|
def to_blob(image_format = 'PNG')
|
425
|
-
|
426
|
-
|
449
|
+
warn '#to_blob is deprecated. Please use `to_image.to_blob` instead'
|
450
|
+
to_image.to_blob do
|
451
|
+
self.format = image_format
|
452
|
+
end
|
427
453
|
end
|
428
454
|
|
429
455
|
protected
|
@@ -486,6 +512,18 @@ module Gruff
|
|
486
512
|
store.columns
|
487
513
|
end
|
488
514
|
|
515
|
+
def marker_count
|
516
|
+
@marker_count ||= begin
|
517
|
+
count = nil
|
518
|
+
(3..7).each do |lines|
|
519
|
+
if @spread.to_f % lines == 0.0
|
520
|
+
count = lines and break
|
521
|
+
end
|
522
|
+
end
|
523
|
+
count || 4
|
524
|
+
end
|
525
|
+
end
|
526
|
+
|
489
527
|
# Make copy of data with values scaled between 0-100
|
490
528
|
def normalize
|
491
529
|
store.normalize(minimum: minimum_value, spread: @spread)
|
@@ -500,6 +538,18 @@ module Gruff
|
|
500
538
|
@hide_title || @title.nil? || @title.empty?
|
501
539
|
end
|
502
540
|
|
541
|
+
def hide_labels?
|
542
|
+
@hide_line_markers
|
543
|
+
end
|
544
|
+
|
545
|
+
def hide_left_label_area?
|
546
|
+
@hide_line_markers
|
547
|
+
end
|
548
|
+
|
549
|
+
def hide_bottom_label_area?
|
550
|
+
@hide_line_markers
|
551
|
+
end
|
552
|
+
|
503
553
|
##
|
504
554
|
# Calculates size of drawable area, general font dimensions, etc.
|
505
555
|
|
@@ -545,7 +595,7 @@ module Gruff
|
|
545
595
|
increment_scaled = @graph_height.to_f / (@spread / @increment)
|
546
596
|
|
547
597
|
# Draw horizontal line markers and annotate with numbers
|
548
|
-
(0
|
598
|
+
(0..marker_count).each do |index|
|
549
599
|
y = @graph_top + @graph_height - index.to_f * increment_scaled
|
550
600
|
|
551
601
|
line_renderer = Gruff::Renderer::Line.new(color: @marker_color, shadow_color: @marker_shadow_color)
|
@@ -560,13 +610,6 @@ module Gruff
|
|
560
610
|
end
|
561
611
|
end
|
562
612
|
|
563
|
-
# Return the sum of values in an array.
|
564
|
-
#
|
565
|
-
# Duplicated to not conflict with active_support in Rails.
|
566
|
-
def sum(arr)
|
567
|
-
arr.reduce(0) { |i, m| m + i }
|
568
|
-
end
|
569
|
-
|
570
613
|
# Return a calculation of center
|
571
614
|
def center(size)
|
572
615
|
(@raw_columns - size) / 2
|
@@ -581,7 +624,7 @@ module Gruff
|
|
581
624
|
legend_square_width = @legend_box_size # small square with color of this item
|
582
625
|
label_widths = calculate_legend_label_widths_for_each_line(legend_labels, legend_square_width)
|
583
626
|
|
584
|
-
current_x_offset = center(
|
627
|
+
current_x_offset = center(label_widths.first.sum)
|
585
628
|
current_y_offset = begin
|
586
629
|
if @legend_at_bottom
|
587
630
|
@graph_height + @title_margin
|
@@ -611,7 +654,7 @@ module Gruff
|
|
611
654
|
# Handle wrapping
|
612
655
|
if label_widths.first.empty?
|
613
656
|
label_widths.shift
|
614
|
-
current_x_offset = center(
|
657
|
+
current_x_offset = center(label_widths.first.sum) unless label_widths.empty?
|
615
658
|
line_height = [@legend_caps_height, legend_square_width].max + @legend_margin
|
616
659
|
unless label_widths.empty?
|
617
660
|
# Wrap to next line and shrink available graph dimensions
|
@@ -661,7 +704,7 @@ module Gruff
|
|
661
704
|
end
|
662
705
|
|
663
706
|
def draw_unique_label(index)
|
664
|
-
return if
|
707
|
+
return if hide_labels?
|
665
708
|
|
666
709
|
@labels_seen ||= {}
|
667
710
|
if !@labels[index].nil? && @labels_seen[index].nil?
|
@@ -746,7 +789,7 @@ module Gruff
|
|
746
789
|
private
|
747
790
|
|
748
791
|
def setup_marker_caps_height
|
749
|
-
|
792
|
+
hide_bottom_label_area? ? 0 : calculate_caps_height(@marker_font_size)
|
750
793
|
end
|
751
794
|
|
752
795
|
def setup_title_caps_height
|
@@ -769,15 +812,18 @@ module Gruff
|
|
769
812
|
end
|
770
813
|
|
771
814
|
def setup_left_margin
|
772
|
-
return @left_margin if
|
815
|
+
return @left_margin if hide_left_label_area?
|
773
816
|
|
774
|
-
|
775
|
-
|
776
|
-
|
777
|
-
|
778
|
-
|
779
|
-
|
817
|
+
text = begin
|
818
|
+
if @has_left_labels
|
819
|
+
@labels.values.reduce('') { |value, memo| (value.to_s.length > memo.to_s.length) ? value : memo }
|
820
|
+
else
|
821
|
+
label(maximum_value.to_f, @increment)
|
822
|
+
end
|
780
823
|
end
|
824
|
+
longest_left_label_width = calculate_width(@marker_font_size, text)
|
825
|
+
longest_left_label_width *= 1.25 if @has_left_labels
|
826
|
+
|
781
827
|
# Shift graph if left line numbers are hidden
|
782
828
|
line_number_width = @hide_line_numbers && !@has_left_labels ? 0.0 : (longest_left_label_width + LABEL_MARGIN * 2)
|
783
829
|
|
@@ -795,7 +841,7 @@ module Gruff
|
|
795
841
|
end
|
796
842
|
|
797
843
|
def setup_bottom_margin
|
798
|
-
graph_bottom_margin =
|
844
|
+
graph_bottom_margin = hide_bottom_label_area? ? @bottom_margin : @bottom_margin + @marker_caps_height + LABEL_MARGIN
|
799
845
|
|
800
846
|
x_axis_label_height = @x_axis_label.nil? ? 0.0 : @marker_caps_height + LABEL_MARGIN
|
801
847
|
# FIXME: Consider chart types other than bar
|
@@ -831,7 +877,7 @@ module Gruff
|
|
831
877
|
else
|
832
878
|
value.to_s
|
833
879
|
end
|
834
|
-
elsif (@spread.to_f % (
|
880
|
+
elsif (@spread.to_f % (marker_count.to_f == 0 ? 1 : marker_count.to_f) == 0) || !@y_axis_increment.nil?
|
835
881
|
value.to_i.to_s
|
836
882
|
elsif @spread > 10.0
|
837
883
|
sprintf('%0i', value)
|
@@ -854,7 +900,7 @@ module Gruff
|
|
854
900
|
label_width = width + legend_square_width * 2.7
|
855
901
|
label_widths.last.push label_width
|
856
902
|
|
857
|
-
if
|
903
|
+
if label_widths.last.sum > (@raw_columns * 0.9)
|
858
904
|
label_widths.push [label_widths.last.pop]
|
859
905
|
end
|
860
906
|
end
|
@@ -872,7 +918,7 @@ module Gruff
|
|
872
918
|
metrics.height
|
873
919
|
end
|
874
920
|
|
875
|
-
# Returns the width of a string at this
|
921
|
+
# Returns the width of a string at this point size.
|
876
922
|
#
|
877
923
|
# Not scaled since it deals with dimensions that the regular
|
878
924
|
# scaling will handle.
|
@@ -889,19 +935,10 @@ module Gruff
|
|
889
935
|
# Try to use a number of horizontal lines that will come out even.
|
890
936
|
#
|
891
937
|
# TODO Do the same for larger numbers...100, 75, 50, 25
|
892
|
-
|
893
|
-
(3..7).each do |lines|
|
894
|
-
if @spread % lines == 0.0
|
895
|
-
@marker_count = lines
|
896
|
-
break
|
897
|
-
end
|
898
|
-
end
|
899
|
-
@marker_count ||= 4
|
900
|
-
end
|
901
|
-
@increment = (@spread > 0 && @marker_count > 0) ? significant(@spread / @marker_count) : 1
|
938
|
+
@increment = (@spread > 0 && marker_count > 0) ? significant(@spread / marker_count) : 1
|
902
939
|
else
|
903
940
|
# TODO: Make this work for negative values
|
904
|
-
|
941
|
+
self.marker_count = (@spread / @y_axis_increment).to_i
|
905
942
|
@increment = @y_axis_increment
|
906
943
|
end
|
907
944
|
end
|
data/lib/gruff/bezier.rb
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'gruff/base'
|
4
|
-
|
5
3
|
#
|
6
4
|
# Gruff::Bezier is a special line graph that have
|
7
5
|
# the bezier curve.
|
@@ -55,7 +53,5 @@ class Gruff::Bezier < Gruff::Base
|
|
55
53
|
Gruff::Renderer::Bezier.new(color: data_row.color, width: stroke_width).render(poly_points)
|
56
54
|
end
|
57
55
|
end
|
58
|
-
|
59
|
-
Gruff::Renderer.finish
|
60
56
|
end
|
61
57
|
end
|
data/lib/gruff/bullet.rb
CHANGED
@@ -1,8 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'gruff/base'
|
4
|
-
require 'gruff/themes'
|
5
|
-
|
6
3
|
#
|
7
4
|
# A bullet graph is a variation of a bar graph.
|
8
5
|
# http://en.wikipedia.org/wiki/Bullet_graph
|
@@ -16,6 +13,8 @@ require 'gruff/themes'
|
|
16
13
|
#
|
17
14
|
class Gruff::Bullet < Gruff::Base
|
18
15
|
def initialize(target_width = '400x40')
|
16
|
+
super
|
17
|
+
|
19
18
|
if target_width.is_a?(String)
|
20
19
|
@columns, @rows = target_width.split('x').map(&:to_f)
|
21
20
|
else
|
@@ -25,10 +24,6 @@ class Gruff::Bullet < Gruff::Base
|
|
25
24
|
@columns.freeze
|
26
25
|
@rows.freeze
|
27
26
|
|
28
|
-
initialize_graph_scale
|
29
|
-
initialize_ivars
|
30
|
-
initialize_store
|
31
|
-
|
32
27
|
self.theme = Gruff::Themes::GREYSCALE
|
33
28
|
end
|
34
29
|
|
@@ -88,8 +83,6 @@ class Gruff::Bullet < Gruff::Base
|
|
88
83
|
# Value
|
89
84
|
rect_renderer = Gruff::Renderer::Rectangle.new(color: @font_color)
|
90
85
|
rect_renderer.render(graph_left, thickness, graph_left + graph_width * (@value / maximum_value), thickness * 2)
|
91
|
-
|
92
|
-
Gruff::Renderer.finish
|
93
86
|
end
|
94
87
|
|
95
88
|
private
|