From 3a1fd310dc5720069b045db7512cf684c44e66f8 Mon Sep 17 00:00:00 2001 From: Watson Date: Sat, 19 Aug 2023 14:39:01 +0900 Subject: [PATCH] Add hide_labels attribute in Gruff::Dot --- lib/gruff/dot.rb | 20 ++++++++++++++++++++ test/expected/dot_no_labels.png | Bin 0 -> 19226 bytes test/expected/dot_no_line_markers.png | Bin 18924 -> 22630 bytes test/test_dot.rb | 9 +++++++++ 4 files changed, 29 insertions(+) create mode 100644 test/expected/dot_no_labels.png diff --git a/lib/gruff/dot.rb b/lib/gruff/dot.rb index 92d3b596..436aaad2 100644 --- a/lib/gruff/dot.rb +++ b/lib/gruff/dot.rb @@ -14,6 +14,9 @@ # g.write('dot.png') # class Gruff::Dot < Gruff::Base + # Prevent drawing of column labels below a stacked bar graph. Default is +false+. + attr_writer :hide_labels + def initialize(*) super @has_left_labels = true @@ -22,6 +25,23 @@ def initialize(*) private + def initialize_attributes + super + @hide_labels = false + end + + def hide_labels? + @hide_labels + end + + def hide_left_label_area? + hide_labels? && @y_axis_label.nil? + end + + def hide_bottom_label_area? + @hide_line_markers && @x_axis_label.nil? && @legend_at_bottom == false + end + def draw_graph # Setup spacing. # diff --git a/test/expected/dot_no_labels.png b/test/expected/dot_no_labels.png new file mode 100644 index 0000000000000000000000000000000000000000..5db1073360425bce4b8040df96b07ad2d0409007 GIT binary patch literal 19226 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

yS&@` z{jc=w$7YY&eW#VZPc>&2x~($x(A8_{j&f7??$1 z{t_Vs3x|FwGKLIbEY5m&>abJ^sH<`0Qqjz;KQF#2r>u+rA$;Aee}DbmxP5iu z)(w`6r@NP|ufA{p&G|^F)uG*o+qP``E%qomZ`<+f*CJ0(-W2`r!TSh-qVQD(JL)0} zGG0u2^iiVua`5$~f9C8F^XvUne5{FM$4$Gcdry0|o%3>G=~=Zt?BC{tNuc_1jq2gj z{>97U4=i_oxl3;O!Nnf;Se~0E)ZZ*zy-{}3w7bIN%+4cSydtnRJz9e`%tC)yX1t4!g_B*^MbB# zKBtPfdK%p(T@(`vTK~Uhtxb$|{j1}DKP&7yeUr~!nqlIcl>W8-aV}5z7Qaf_ymFx@ zd}#ozgAMG-o(Z|4BLS|Vl6Zk@v%z4^F&7QRHrV(DtJ;~U4iAXL;gptDu#tdv&dsno zu@pY5(AyaRtCe3HNW!}5VekovEZ|CZh*55@Vap$oW?UA*7dmWbTL@||fk4;-c#Vj4 zz6IurtMIP66wD1s^CoKWYPmBC+K9;l?l8boSHebGked~UL2L5BwQ& TmUaSbP0l+XkKBLJ1m diff --git a/test/test_dot.rb b/test/test_dot.rb index 2de03c06..4fbb0325 100644 --- a/test/test_dot.rb +++ b/test/test_dot.rb @@ -49,6 +49,15 @@ def test_dot_graph_small assert_same_image('test/expected/dot_small.png', 'test/output/dot_small.png') end + def test_no_labels + g = setup_basic_graph(400) + g.title = 'No Labels' + g.hide_labels = true + g.write('test/output/dot_no_labels.png') + + assert_same_image('test/expected/dot_no_labels.png', 'test/output/dot_no_labels.png') + end + def test_no_line_markers g = setup_basic_graph(400) g.title = 'No Line Markers'