From 4387bc3edb5e2588a53e47fd9f29d33363b117ac Mon Sep 17 00:00:00 2001 From: "E. Lynette Rayle" Date: Sun, 13 Sep 2020 12:49:21 -0400 Subject: [PATCH] add hide_labels to stacked side bar graphs --- lib/gruff/bar.rb | 8 ++ lib/gruff/base.rb | 14 ++- lib/gruff/side_stacked_bar.rb | 18 ++++ test/expected/side_stacked_bar_no_labels.png | Bin 0 -> 24178 bytes .../side_stacked_bar_no_line_markers.png | Bin 0 -> 23479 bytes ..._stacked_bar_no_line_markers_or_labels.png | Bin 0 -> 19234 bytes .../side_stacked_bar_no_labels.png | Bin 0 -> 8621 bytes .../side_stacked_bar_no_line_markers.png | Bin 0 -> 9399 bytes ..._stacked_bar_no_line_markers_or_labels.png | Bin 0 -> 7336 bytes test/test_sidestacked_bar.rb | 92 ++++++++++-------- 10 files changed, 86 insertions(+), 46 deletions(-) create mode 100644 test/expected/side_stacked_bar_no_labels.png create mode 100644 test/expected/side_stacked_bar_no_line_markers.png create mode 100644 test/expected/side_stacked_bar_no_line_markers_or_labels.png create mode 100644 test/expected_java/side_stacked_bar_no_labels.png create mode 100644 test/expected_java/side_stacked_bar_no_line_markers.png create mode 100644 test/expected_java/side_stacked_bar_no_line_markers_or_labels.png diff --git a/lib/gruff/bar.rb b/lib/gruff/bar.rb index 55ff7a7e..2562c9c7 100644 --- a/lib/gruff/bar.rb +++ b/lib/gruff/bar.rb @@ -76,6 +76,14 @@ def hide_labels? @hide_labels end + def hide_left_label_area? + @hide_line_markers + end + + def hide_bottom_label_area? + hide_labels? + end + def draw_bars # Setup spacing. # diff --git a/lib/gruff/base.rb b/lib/gruff/base.rb index 7d0af8a5..39388daf 100644 --- a/lib/gruff/base.rb +++ b/lib/gruff/base.rb @@ -504,6 +504,14 @@ def hide_labels? @hide_line_markers end + def hide_left_label_area? + @hide_line_markers + end + + def hide_bottom_label_area? + @hide_line_markers + end + ## # Calculates size of drawable area, general font dimensions, etc. @@ -750,7 +758,7 @@ def sort_norm_data private def setup_marker_caps_height - hide_labels? ? 0 : calculate_caps_height(@marker_font_size) + hide_bottom_label_area? ? 0 : calculate_caps_height(@marker_font_size) end def setup_title_caps_height @@ -773,7 +781,7 @@ def extra_room_for_long_label end def setup_left_margin - return @left_margin if @hide_line_markers + return @left_margin if hide_left_label_area? if @has_left_labels longest_left_label_width = calculate_width(@marker_font_size, @@ -799,7 +807,7 @@ def setup_top_margin end def setup_bottom_margin - graph_bottom_margin = hide_labels? ? @bottom_margin : @bottom_margin + @marker_caps_height + LABEL_MARGIN + graph_bottom_margin = hide_bottom_label_area? ? @bottom_margin : @bottom_margin + @marker_caps_height + LABEL_MARGIN x_axis_label_height = @x_axis_label.nil? ? 0.0 : @marker_caps_height + LABEL_MARGIN # FIXME: Consider chart types other than bar diff --git a/lib/gruff/side_stacked_bar.rb b/lib/gruff/side_stacked_bar.rb index 6846da3d..dc6f32a1 100644 --- a/lib/gruff/side_stacked_bar.rb +++ b/lib/gruff/side_stacked_bar.rb @@ -40,12 +40,16 @@ class Gruff::SideStackedBar < Gruff::SideBar # Default is +false+. attr_writer :show_labels_for_bar_values + # Prevent drawing of column labels left of a side stacked bar graph. Default is +false+. + attr_writer :hide_labels + def initialize_ivars super @bar_spacing = 0.9 @segment_spacing = 2.0 @label_formatting = nil @show_labels_for_bar_values = false + @hide_labels = false end private :initialize_ivars @@ -55,6 +59,20 @@ def draw super end +protected + + def hide_labels? + @hide_labels + end + + def hide_left_label_area? + hide_labels? + end + + def hide_bottom_label_area? + @hide_line_markers + end + private def draw_bars diff --git a/test/expected/side_stacked_bar_no_labels.png b/test/expected/side_stacked_bar_no_labels.png new file mode 100644 index 0000000000000000000000000000000000000000..b0c7b132a9feec6bdae8954a629ddc6d31a34665 GIT binary patch literal 24178 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 literal 0 HcmV?d00001 diff --git a/test/expected/side_stacked_bar_no_line_markers_or_labels.png b/test/expected/side_stacked_bar_no_line_markers_or_labels.png new file mode 100644 index 0000000000000000000000000000000000000000..128827a4065191207b805d78defa16508836ddda GIT binary patch literal 19234 zcmZ6y1yt0}8$L=2tVk;eNVBSq z&gVd7B?gU=!kaKczmU_PWt4|pf3Qf@ za<9Q8C&4fT{rdct#in3*JpB5@b1{~`=8y#Ri^b57Ob7WkL5xhO$KCI7X?I|h<7h3RI_DxAGXwhLc?seW=-oRRVW_F(IMrC+LCnKgxLy|* zWAf2VSUZ;bed=>HAIp#q3fURrH4xuBjC1n6DmhN<(SA)!t!&9x{@2&gGhnN{(%{z5 zr^bkUwO>c8JcMj~1sBB@{VSOgn#U@gUJdK;?|S)IG&*+Hm*>u7lG~pau1uQ*k&T~j zZN09{pS(1l$a3jBw)4I^{Bu*y&a$3sqyDVV7ol746w=#b_-8{SE&Xgt@~XZwkVS)9 zl31~gy{YAIP{m|!84EcH>r=N{TzR*QqP7ozMoun54o|?p8cGb9pN8Ek0mRqr`7`!hyzZ0>wGIl%1;BAHFV+*C4@Y&-r!eb6y2vM zCaqgO7W(jDz6tu-gVLmKo+xpfEds3YuzQAe8mATd8E1W*NM-TYJfl2616fljX&c<> zYCqOja?O2@BT3B-i`+JlmJ%U1>RvxXc{}rgx2mTuTv{r>w2|wLX?u6%B|dJ?-7?D^ z!v4*lrU9Sz34ab4o3%9%)7Vb;TeLjgnVQ%S@~*^5llQ1NE2VFm;lC<8axG0E9*E=p z%ZKCQH2#4!n=0G_`(5wYx!dAobYsLSL3o-iU)f*fot`o~7N33AGF8iT`}mn%pQ#J0 zXlIC;yW>(`yupXaVc)XN1xN0q{!tENot9X(w2OrhiGD-508N@n%!vu>MsrWIyU!hA ze}d__MXpvCD@9U8Bf1Lf3pU<9-kDv-i#(uT7w_GQdi|hW%92#;?AO1X#7oK#e0Rx^ z>6(UP{co`ok%B8ltQLWeX3H&-26nDS*il3edyDW^3~h*xV% z?JUzt`@g+O{GcZw{odkELmoG-%56zf7p8kYjhDyyz6e5Nm54F^Wga)y!_+C`air7T z6%nqYXZ4>EL(@BL{empvp@HSDMOziy!mCH7mF+e0SQ5tAr^v#ryP0|TV)kdweA^8U zTpuU!1ly-|i@H37UM*{_882n@)Cd?<)YBw1lpTEfHjpYADNL(*`Sg@{WrkQh@_^lO z2D+;M-P7y%t=ehUpL9(+BH6Bc;X<$JhNr5xhn@R=CBL5*6RL4)+m(FeN;eXlIB*h*wx9kb!vdY!}h>`^fr$eZToCP#5m zlgX^@St;)K=i!!3a?g0kPBz*bC8l&pvo}ANxF~FOFC0wv^H#5rxYaLh=o#o>evSF_ zLazRPx$F9)4p*U>XfM3kM}_l`X7|VvDI2|n-d)r$bgR_QZoD<M_NKc|=8EE~Q09pOj2 z&0+Vc zPmz^PRyXJ#onU|bF7SQvLF4Nj-af^(@Na@L1^!gDW@5<0mueR)^BbXD9}dq)?9OcB z48#UTTN8cSLmoeWfkWmVyuP!O5;P(xY$X>hPg}R*m&q!8e}; zrwg%Vd)@mr;dgh===+UbBg^Or>t`lO+(M!!lTXiBqNMy0jT2ucW0!2h#;}XZe7^lD zt}OKxu6FV5SUc@`gn~1J6*Ju;+GN+7x&`^*d!)i#C85Wim!Ga|WJSj@Dcg1LIq$OB zzjQp0*Cg!qqCXe%nKIq=vD^^3Qyt|d_cdN5L$T>BWoE}jLWw|`ErkNtyJ3U35b>=z z7m>+Ifu*Nj`*k`F%dY-nIQOroQFGaiSc+|o%h~n;OSzjKW>R$sf>=v+<(qYXSHcr# zgl_(>q1>we&a&Zw!(Xw*klCYBeH@M={uIa?51ul7c4P0|MwuVDbAL_<^ z=jE0^h?i+vr`m4S=Us{QUQ|le&I-u947EmAWcx`gwyPB_lZE`VhfV=Rf{SMs-@wT2X;_JD@`+u>DlDajNO2Uts zw`1x0O?+b)Sv(Ej<@}|c-n{WrzsON`Xk!+ZN6xGo$GkCI6187QP< z^NeHcv47o&<8W6w1mnn+8SU*!jh!O@iMiN8)knTwTra$<*E_z8&$THC3e*{qe^j`4 zN8A!o-PgsessHaZ#(q@9VPo(IWpfaRM8UxvzSiaT-iYRl<60FlCDRWx4w)gDOl6Hf zrjT1qh8+!z--24Pxp<f#iM(^ky!5yCrPF7K_wtp9L}))A+W!^dWlUvVzlJ+i=i zk;rW+Pt%r00J@PFy>T3rk~UM|c+xOG?(EZcNG;6fsJ|G*U48O3Hn#THj!IF5$01wp zNYQlcVIh2EqH%hod`ZpCb1wD0;IDmpV)x_I83xA3880_PIQ1*993?r*^82@?bsVoi z@RGQHOfZyZpy}XDI1%qv^|{%!$In<{h?yss&!#FDRpD{PahVU9J8M3)?wo3;*)8kkrw$xD zND7?zHVK!T3WuBwM2viXD3)?+f11I&))q^88RcwrEpE22G8B^zxOFA{f?L?673Ae5pL5| zBs1>vr<}|Ne<=I&+;iqrFG4LECl01IZ-_Hg?_QpD+I&$ds)-z|zN>zz@-TJ2a*zr5 zIJ2X#Nvu78`I}REV&nK_{E4QS`GHM~CN&c8NO0Of@|0}$=%cS7{FCgn=XT$^5&1_h zQBa|P7ZZ6C0G;->SMvmRn?3DSI5buQ} z)|rM)*GODAWKgv0a_G~)+^gte5OeElLd5B?Tcv;Bu+&T+VWCF!RcXs@mroMuQM+g?cC$)$z36syU>py1yJj>Uv43?jx@qr%vXxx+^Zp z9=NBPc-3%$dACCf7o*3{+Q)4F5lJnJi|!^))#9HpySl1Cf|0GpN!2j+MT(jug^e zVg7pHF&=lCM-}xEQFJMP_-4oe`}H1%4?Xwta?hKBrewk)tCr6xu*~OVC}++h}}KUQl$wko?(p)iux3uKeSKXXjwdSGCFog>#Mc zSILdCEy)&kuRKZxCj~DWBDeD~oi#SHhn4*x$0{aRQTp8C59_(vlgl?t-<}(Jw69fq z-yuLuB9C4o*aHUH1~^r==EZ#|s{a3BL?FPf^^@VIdZ9u+)3*u9zLCn)Mw>$$M^mhM zjl-_*SNUf|t*V73`3i07>}Ew1zSZgDHK<_ujv3uV@hoYVnL!qQ0fHs!(tZB zO^g6r_oIm?wX@9n%glyqUCn~TpCO%HF*K|}7+cjL+a|Ux$#Phfeq*)~$u?%E)r5Jn zSR~RsGMA@)YeD}A=Gh)0+4fH_hQwZqJNs3ZoHm??k!5EdU!5bDy7{txT43K|@{({hjTp==c)HUb{5fbKqgw7G|VihNk2?**S|^2ZgSH*?X=G# z!$Rg?XmjG7hFi!IL2Z}KOXCrGgBvdx;_ylyZ}Ukbt)#qGkp134+hTn9KATs@8}!Lf zTNJ7F2a4|wN^1K$AmjUUrL#7ud*N9bvQHz21BS3)vHtKOk(+(h%Y!{nW4FuvTl4l6 z?khf>F(-G);A$~b>+aa%%Bg9^W0#=a%E(5?i`wGF2xg813crXhQQL-X(yHYgD;NF! zTWU$a0&kX#*8Y#}>PkJjajW(Z=^`f~W#^@O3bn3` z+isH~RayNXP5D~RXNqPETWhzs9^YEOQ>0mUDIuhFWtbYEy*e|0hGfiH5zN2WP*mlT zn(khoka24X4*RUO%kCGKLzH}Z`tEgX*)xkosSHViZ?~xzj_Wi=Y$y;p)!wP0y1``x z2{;v!kglY-qdm@Mk^LIF)2`gLtV@5<_G2NB6=F4H^19P^Re$xk`7&kWo2J$+8|RnK z#6>h!+n;?eN5eLl_2S;)C)jF#t|-{ozVx2@Z6S}xL!Sft8khrXw#yf|HBn6WAiC#x zitJKiLm;9@=|0cV27O%C@vg_Ok9JqdUy6Pn9CrM|?k z|8U^ZXy*Q)IIF1;E7?$gysmzKqNy{BwNbH}KuKP~o?}*Y#m8Gp32*hlIR_zn=Y7)O z$HvAN607CP7PX82-tO#+OCFywFK|u$z_jIZ*O{1jb@qGZyvv>}ymzDSq^|YNg$vE= z3ZJpirMF*@-?m!D8;SD~+TIi2n@J8|4W2*8o?Rm6O7zWR?fx#wX8np#?qRgL82_)| z`$;_x@u^xzu{>N)t2K?EC3=zsceyppa3HA#5!14W4cCd*A#F_S66f8 zn=vtKi*O0+RH}+;P^M1f!^q}OeYM-gUYD-hD7koWVH)3Zd}pL^pSN%%@DU`O+{Hhq zAtxfoY5CA?{gA`Wp(iZ;(#&fku_(P>g7AAmVF|Afo2_o;6#_Xp?EJ`)aqn&qT#g~R z*=P7v{D_6YOn)TrYm|rR!Nk8~wZ`Zj=MkzLjv?`H3^yL6oFbFeeXeG*7mD{PAAkZ!_~8{g7N}=nt4dCi<&=#(&eh=PdCvF#U+~wH?;{`PnDpK5GFh ztdwB!=i99e4~om1DzF-xjg{$Y=YCS{z%p2GN@|mYa#xb^FWW#A#ax#|c zK1H&T{N-;v%1Z13IF14qvoZv6tAmjti&(Cqd*M!z+C}FZ1d{h7n?@nK%kRXfI&OFE zJ=`kC-FTWpFZ`H)oDC8WvsMMNB+HMvT2{REy%e}pqPm0Fj(&_*WePwg>#zPU9?zb# zr8k;&^ikC&h2O;(vMqA)Ezh<`)E~1<)8J;k`j{f}rw0{SiZDhmUb4S+MZ_TdJV|Di-d7&`bzJEqdSIlrbe#{Sw|4W z!s3nEOFQ1*PI~8kDMY&r7W>XcBo{owy(Ny~N9lH^c@a~{ZI!#b`@w7XX{4tToVkiN z{DRuWE>@qWV_KcWv(DBs?MHgM(r)HfBayVHhRZFycr}hwmtFshwy3YvBoM>jNqwA+ z?G4OYD^-PNyg|Yq8`_J_1fF zSA~AX-;CH=F7Xzqd_5#g9tDG>~>m&B#el< z*6*K948UtkT#_X04ul7fecX80dIAM&v5dT$EgQLZIH=6s+BP(krgJ!$A1<6LZVGSH zn2M13ny{OfF#-5gcg9Mvqa=ax^Odew+i(MlSY)Xj%b3|=ZZ ztgr9Cz5f;;=;<=Ozf@2EbdR_57#fKeQ&LUQ@BqQPKe^)lJWJ+2<$1z8ar{%)<(YV2 zr{zSh?==s+p8GO%@)_OZ4kOFqI2Gc@j&Z0Hc3y#ciIV;!$e~p5#qWOZ)P3&*qtgd# zdUdJ~+<}boeqHdcxt)U+LgLDv$%xYaBWY0r8?mm9)T#aXecs18{5u~RKMNs_nSX)C z-|JI$>y zO7@+dQshn*xJ-;QavM%GNn?vNW8e~9$ksA662EiG?;%V-=Pt0UePsO-577r%GWfq_ zvQy!wf%yqZ-KyTcD*ecplCKW6?yr^UH+$EZuY0GT7!aDCrAN z?5zw-wPikr9jE`_ItOkFnyt5Ila3)XWCgy}h4j^kIXwD$oWhHDSTT}{5=kk~VV|P19NI`)Acj}&4TiffGKtjE$fpgGWT=*o5jmkO zd2PRa`slyyScK?PDJ0+h!UC}t@9NWrJvzUj3sP?lbngqBargiwnv-lQ8XBfOIm9_o zsBe@mlFjH{avmRC!)iaH-Eg-SVplb2usi*|^Xr6ioB9lw{oG~jZV8d~pxeesyjt1Y)fB_8 zKRzb%o#m|Z=om6CiU>+FGyc%_4zEwYPoj@=^z6^@N~KCbUXil5$vWijw5{7o{!7NK zn6j{cm+2oqt;~<31yNW^Ls5Z5gU8f*FQ+c52169N`L5&H7}>SgmtT(K2~NEmcq+K% zzau}V@hhlhUOh~E64W3EyA7&Jf&5(~-P+h{a|a_MyBkLa+c_0Q8qowHo#`pQ*3AiP zYb(AF(5FVxSLy9g3tSlbaSVFcUnw=_-)R2d8vZA8J)L?MauG z;V7ctm^8b2#Hm$mZ}fl8oj97wP;*D?Es!GDX|1@&6opi9s!C^wCS` zq@{}i9Sihfm|P+Edl$-e4U^RWGf-*n^Lq)%k4zjGl%&k|pHNvV&r0O^)ZU$-V?pt& z1*LmDYn2c}qi#aPi+dVWzwE-RMC%|glAk-vlzYyd#`G1@sk0v&R1(OH(J#>b7;8CQ zxYYLD@8>rzx$=Je_wkVNC0tXd{^(*yz5nE2TP6Q%;)i!M9({ck6m9o$Q((`?ZL3t1 z-rXCjyE`23RJbG66`Vk*Q%8U;O88*+ohz6*pKfF4@@3Y~7%azF5g#mt5#COljcHw>RGn;rjaVN>nv*UDkiQ&o0?19hj9_e9n!xl99 z(HMJ&9gjQ1bx)c!4=&Gsn~6HmKj@kHis_uEOpvsD^bxPo0@tY_eSfv`zTdHX?C)u|ut1LY}_+jt=XWFlq@7oUumlZ3Hi5tsH$U*mU%39?uloLMK!zVEMdPBGRw z!4h|B4MhfMRBLbfNE~S__8CdpSUx6xASFES2U}nHgNPhwUlQg187KJCPh~Jehx20c zUd?icM!>k_`h~-cQeE}$TFyFE3k96^l3k=(N+i{Unb=7Wb$y=#1Or3lIPT@Tp>x@3m$uT2&@0)($FCGL2-dVgW8 zJ74vrjNHN?cteq*yThsbcy@0$(atZQylBn+kfy)XrZ1rWL(Psz-;xT^gru+h4Ae%h z09*7Jaq-T~H)-^(`jGrk-IW%hOKI|y)J#$X+u01h%+sfyABb=?fqr>kLH+{t=H%KYI z_sBX#ltd7BSfb>pf?x6%;b~#|;3=t)$Kg*GSv%KRFZKmyiBjLRzO|3XYlmBQs~*TL zVDcrD$upckY>A&!E;(h$_)#!&ct|5X z4t=eQ3I2SGV|#5&^btb4zbg86uJmi4i|;h1rI?zxTsZfrsO!vE@B0}Z@50TjlmjTv zb>hsYiOH|yVf?O%F#L=HEUKit$|t5ciPJJ}oJszkazJT zFByAu(@)&V6M`CzW6V-N{7ks^V79PYEHxkQd@%EEIo@(5jU?pcrt0!$KvsEVnaCN| zg@^|den^+(WZ!!@li>f9nEq_FA4^NqaLZ~V^vSR3KupM#pUAQ;ujtB*3OtEDaO`Y!AFoXKcs0;?TXHo1)a ztWb0|KZy(#ncoAUbcE!^TE+@dk>8I>+tjP}yHzL>qNi1sLoocQSaZ*I6{<95T!$X)SVQ> zHnnTakZCuk(>DwT$o|l2be~_~n0vN=MOvIx#g9++ zCyd(si)PYx;rGot<+O_q-0z^txu=(QvAx7;Ukj7zr7^>3|oFseB$&A z#gIi)-m!bb(y32}py5bJ_cglEIyzLn-SIg9|r*@{td(-(x@{w>VQIsNF4wu=CzR)PYE&ZA&U#lHG}wAd z? z5R~q_`q<5O!)Ylk66X*3Q?cUMnUFp&an;Utj9)wp)#lSOggW#=AqbTk&%LMIHdkd) zT(wON*NVueb) z;LBTG>c0qGPW>DoKo!DEW(pOumw2@k!3GIdL=0T;?)xS*atzi~4tw(7_lsDj5|Ij8 zCDIce#0@1=nAGl#J@zV|8RQNZK9n$U?1>py6uf4!ER|Izzqar#j#78}yJb%OMFEKS zuJk^x=c4>`d3|^X?t9{QE4?lj$S(;RDW?v$vSGQkRr-fD;P^*_up=@k$8YbVTc05s ze*iOAk+u|PR0U@UIX@;xU5O$4Fbs2DE#~{mF0!0AExq3KsBEldZnhYkm-y(tj3lRR zWz{{Bxjm%4#7-1)Kk*s$TGNm8>G47n+aLYs8++MJA}S;Vy0GX0pKapXj2}OKjv?B4eol-yJ0W)ahAbx5 zR|$$BrM0Un6zKNcost~@$T)W3IjX3euNMmV|&&1xVz1fwGt5fi8nQy+H2`_y>;YwiH{Eq ziU7x+p>?;9LeJpAIR4lh4G8<61inwWUe(W)*^%2savo2P=I`SPHV}nZ@bB?$Vn+Jx zc5p=AakyG>vDqK&>>TR75;CKfJg>gc^Kq8+>HO>|qLk}(P64Wl;W8b;h#!WY@0gfY z`kpfVs2X><%M|mrkbSO`=GbprwpMVP0;}Hm?Dneo-NH#1nH-lxIIKebzNU0i7)^*Y zov<&a3FUoVq3^w=!8j1&kY^fSnEZ?hU+M{2(p3|CH3_w0)8C_MKau-FhjhbfGTDSL zR=gK$@8Y~C7@5)t-^JFb>VChlE*2&i#hu|BsQ+Tq2ozHgoF7*Mt7&AiK;XMZ7I|6u za{SHm31N1q}Qcd;bS8Q8BYqyOzQvLD-`+f4q@Rgs+aX& z&Bn5MTs%tFX!YM!#i~Bz{}qIeA^)eCdrtq~aQ^Jk4{v@e#H$mcFE$2);e6QFtEq-5 z7NZNv|4)s1Y4x*gr|ZRkW48B`pjlM^&2@*0pFwki=qdV3dsxJP4bd}Ix9&0>)W1yJ zwmpsAGV0_YCi2>pyBjC;s?lPGvm%R>w9{LsaZ=cNkUQ6B;kTV;o{i||*0i>iqn|yI$jfpAbvNyhChQzTByKpm+1y9OJsc;V;6$k!#!P9_a z@*R8^#=gVM;OTd#A^^fP&8!9e7g_}qlyv6)UX7w|+gSw0zVK7ZPJq)V46D7yiE}FrH`Ln3R6*7!F z;Rp5{qa9d?(<<-4GW-H>)(IIw8lAF}1Y6j=y>4(J7jp$v{=t(m# zh@7f3%<*5I1j8DUuMbJISW7CimgG2H0tsU3#s-bc&QJ8Ng9Sj(bb%jlp22`n?nbEE z)U|=uu=ldIj3DuOFdGb)Q6d>w>&+_(1_h~D2#);b?;O|J-IZcQKmaIAgp!v#TXrrx~O z4eU%kFw9I0Dl#o+E@o^^thmzy$M`x<^bFSOZ_cEAub6z*Ml^}R(GnLHjxPf>n|vs( ziS@>y&Xuyjrpa=m85n0aA9Kt?G>QSZ87wgK(Noe+Ojk=OX)syt=F|-<8tyT$FD8l; zGLj)*A-3KVOR4FXAXOFv+lA^0Uh(+yPN94PF0r|%l+l7bz4NKokhX$Wfm?V8Z&3)s zS4JBijKf4M&(b`nvN{k4*TvweoI?(w9c@C9VP}}WW#}(=?@lfeO!)Hj32YDFHNjA3 zf-d3i%&m@a1t}QRj_0olAJb+APV4gqrh{b|>JIW^ps391Ydfp-B7EA}!2kI}f+2mU z9!wYPN~0fxKf1~$+5FmZ$6XaWS!NrGX#w&S9_C!mJhPM=vW6_ox3}!7f1gQs?w%f^G01L51?|sJv`DJfRGc7row2C#$Cap;> zP1>11h}TN{X=111-v%3q|7WCUCd>?!@ITWwZs2;koch@08eYRNdJs5rrj4uUQm++H8iweZxMAAxumqV`;{!_j<3sP*>R-FaIlD|n=x z_a`l2NpC#0r0ZO1rpa#=qjTYsAC>vB+Sp_s--p#;P#TcZIM6#M-ABcXFG$Z`qwy(| z>7A>anUoUKP@cuLp<~RK+*seCd=lC}l3Cuz6vO)IuHF4#mz(9ZifVas>{O}!`PbQk zLmU!OG^Z;ah{BwD2!4|^I;}~E5AQiR;;p`PCK8ROp8=uUo zvjM+GO2Ct7h_n`s`!YX*2Lnw}ITbhi8e%yS1u0GpmgxxyQek*B0-#u^Il0UYjJ7c% z=A@)h0HxS2d$;y&WbZTibr`2?n}|^68lz352mX{`QTgvQH3=LWO$k&a?UItga%ppn zokHU8Ya)7pr%p@(YwbNUU_EH`8$yk0kYISJjHPUihng>yI*JqpdC4ECqGs0GC9Ze$ z1E=*4uxGdpdQ1R~Ms6Z1vtIijitePM;{xzd<0uid1I$hq(oe=t+6jqtsKNJ^u%ATp z#^={fN`__ELyIs;S6&$I1%N3cQ6^+s zMrc<8lgE{bvx9rWsBClB-~$__u?`|r`e=u15>_#HCpu;KE(mcB913($f&exQQ3t;j z%Ojd$H~R&JjVU3AN0{!>a=;973_MHpVPm@PHXbz^cm>XN3O}Up03vZ2n$To5;1|-C z{Q9Ev@>)@>El77?Mlu@IUZgLdx47^%FD%X(Z>dJWTf(lWoxXnGG6%H(Y0n^$jglUr z3s#4E969Myrax$+1{K_Aa0f{Lu@{X=8{u`E)T)Wy4G`?9fZBH|eg zdVUWPNC$*v{;6b%I6H*zRA6btuI=euz0slKw52F@^lVJcgQflu`v+tOj$U(zsCitf zKbc8jlF857qQb%ioDs}fvmShdlaX{5nlsg(ABF`FNIz71K1*Uh=)&zdy{;a%Y#8%k zYZYM!`u_7OgmRAofJqs95w>hI=n=NS?!5|R3e3QPY7J&k^uS@?zkkpGdB31o3@7X^ z1*;Nz4110Vr$vEaG=oMU)9u5{tEq~B=>50r9^_Hcw}&_rfH1npC5<-?Wb7D)a$E?u zA)WzXVQ5DnxNQp+8hl)?#LLhbXBL5qy^=oT6n+14tXxx1Ei!vA!1S%|G7k!HpuuPm za4rX@7g*7vsr}_$p(cq%_{b_i9R5*PWb6>HX{L7((NZ$kJE!4i@ZAmFGLml!5uoB_ zNWN<=dOP}y1`w_Op+)%h+>oym0K%Z>C|+}IK1+dueZ$EExPVV{-lu)W6t)n(E$rKt z2;by|WS4<(fR%7%5eLUYI*z~CykMTlRNVr9&!f^+0AiQy*1CEZANE2UnI*8|Y#SMS zk_l@07h(Ox;8&m>Cd2T10P}>tM06%$KKyOSSpgVF?#Lb7R&Ggsp%D+4t2lL)zWNQ| z_Q|t}9o$5b!LPz3h!eC|05t4UN4WT+y0^JLpJ*k)*qUdGnWqacV>39K#V}og#KTDSXECD)a&?F##U5F&wNm$7H05ZFBzD6|5(EwG&gAmron{wuAMu%8rblD7oa6(dn0)bKq<34 zQX{p;Kq$!!GPa@A!Pv^<5SHe@D&MV=a&cfK9A_`+N!(gce#j06$~AP$aIx;x5=FU$ zDEN)>ri;`7*UeY7%A!zapY?C8sYUkV(ty?PlSNYeRxfboioQV9dIrjlAW5N7qYc)rj)~ z^EnJk>86zF-~t&I$=3LbGBc2dY?!1DpSdvQ%V~p!nl%G$9|>KY>%gFiRi!u^W@xJ@ zN*!Uz0zM!!0Tbcb;4ww)Z21pK@iH)xB~7kjXM*i^Nn&bSp)z-2;)5nc&OTSsCiX8L z)Q<~ABQf6F@1*SjwSzoN?f0FBfP+FJjr+f5)!PR%g`+wWQGd_|_$}sRDKEo@c85ON zW6F!5G_XVGcP^?f4WAVRFvETDIvf#+58wR80S+rbrc^eh}S=Vq>gGF!h^xEVnIpPhVtsYD;yIP zv-&HU5_T}6L!F;NO%Wv$7#z(g3tpnb4&Vn4%5DTNvB+MmyIDyoL^m0ubaSUfq=N@! zn5BXZGuk?g0)@M}6vwIt4aB>OQahH{}{LaS&L`-e1{p z`;)QFx`K7=7yvv5fn^WpQgb8+e$AO6LhBHie>y1kuJwu8oY#MSnhxQrf&V&0i|k@h zD%r}p`hAmj&8G;Uw@9OBoy@PI7Y|&Gj7B8C3+S4nx+gdmYd0j2KbUV{2oyYRFam0V zU@Dt@zjkYN>$1{|LNP?79!HN54G^v0aPgI&0EDop$Z;%ijY^Qtga zRqB+er!pbUM3lO^-=@aK=U0TT7S+;Y70L_*W&--#Y2+$G(HQqo1u+gj|5>~>cXgR? zJWXo9YJU^53Fu2|@+S|;A(I`Z)8(l8IMAF4yg@eGc$`czE3lN$ zfUi40nt~Ua3OaMCwE#8|z6M^rXQQI)3m!P*fl`4w)zaa?! z^1pzX$Vf7grc(dFSjxJ|&zKGwql>PnD;%7`I}CDwyRp2>4I??#^6Z}aNv_V{xWPqqI8!%Z_zW1B-w+zh3Mu)*qe@3 z>^+*=a`J==wv~PVQpYUPIlhSNC|EE65+erH5&2Pqp2reqo|0xMd`rne(w;P0Ocqs^ z>HTF14aN9aP8+IwqQuGB?0AU>d`0S@Uxl(K9pJ4>`X~^;)w4^cq%|!QHs3V|iIgfW!S0JyZK>4K@yG38sj3VbH!1ZXgQrr~ql9jRES9u_!Bk1{Kxvd)R1e z0?@pNLhcx50BuZHOq%C#A&DXNuK#(wK)Hzv)u4crfCwvLJWepIj#@JhRRwx=E|3OT z2X;O4(Glht!MjpaWIEd6w(geeOYVL?_X`VN6dnhq1S&MGxXuAsU^boB%@&BUMB~Vc z(xqXHS6zoMsxYrbn=zJ*@2+biDWsEiC}jsD6_77aZ8-OWPiJ5_DnH zMdzVXcGdMlKk9R{^3BP=orK&OWWHqXqpC9bGRek@T$7pUEr?u^jQM^|!WcP~KC z&=xQX1RsDhh8}ut7~6q9QR~<1J~>7Y)SlDvkGB;if#6q1Bi+B3>fQ~08o^`5>pVpE^HVqB?lZP#pnUeA?jF!KLuPA z_UYP!5mx}(nY5$FAV~6w3^@#Y2`(YFNC%ODPsG3=FkO-i(A@4!Ly7WA+7KKpbha4N z=s#FTI{?M8ot&V-S&6oMbtPdD!KdEJ>kS5?TJR>Zc9iVV1s(M&s}V(quk!&|wYszT z+yB85v=6)wO4Vq1ly)HJ9>TGdI5-g$FS6X z9pTAcd&(dGWyzP@&np5*qTyu9Un}vwleg5M7(yr*ZWq$CE=hX0>59(Oc1>)@CKo_( z+?gRqC}|q)yX2;CPXwB5)QJC~C^N%T>mVj3Or|!_eBnUD6Ub+EutGBYUk_!p)i7&< zP2xeZ#?PR47jzCF7}X;o}`lq1toh)P_q#aq`RA4^Fbck zC?j8Es5@uu=ilGAA!-2p12}EXX24^Y_MU;~m%Yw*(2oIuVRCb+?N+eGuHis3=Tuyp zt!EROJjpJ^7S-FIURU(4s5S@c>HT#o0a69^tVDrJw#^YiFFiCzt+v6*0mS8@@dPtNe3@>!%Px4Pb^ZD+bsx zrl>-M92{RcJcqswz7Y%K2N2$wEG9G)yyH}6lU2pxM9Dr1I!DnASxoO7V(oCDfBC+} z17+BX3swbap;G3g2M*TjkYESyC-K7uVLY1XXqL1P?h05CrplJ@DXUl{*=+Qpy0Jf(e0&oc=)B z&&BDWcLF-Dmw@)<`kxa9S3Qj3VY!c)_ZBT)tw9YhnsJ5Y^%nIrKo6tLtjxbVHsSTKMsOF4E!?VE7Yc~R&M0rX^ zA}HYtxZgepABl%DJLPsNrabO-eVt2QQ`MOWA7t`-fL?6xF{XA98HqzW(8LHJYlEG@ zI+DHk893y>B%qB>EMMkWMZQKsjVkHt@j;t?;~^jxA_7LxQJtqCfBQ#`t|~PEob$y9 zRzDAvh)zX2AjN)xP5KJ7pFpnzwJXG}V32NmoZw((8Z=-b9;7+oh&XrvuuWB7fx&%g zFsFMA>OkeUM?ayAF6wUUBzdNd+i#iYar{fo&}hRWR6E+*-WV4~lNGx0kqfiB9aWdh zf$6j5{*VyFG5Rf|iY^*4sBilUiQ7pT%emBy3V zpt-RPyk7NC9hlfXwH+#=i(NwcZ%9jSGT{^aUgiIM*9lN+t&bjnpBS`yhcfsMdXpej zZO+)|`9KH@%D9_J#XQKNB8jf+43}Ua06qPUU#dOuO%rgs1M^4Sp-on?X|W>9Md9(! z=BH#36;~!@JH!9dEanMNbuHkScJlVp)D5-}oPl5e%WIqp$SA5)hRVhmKYnyA1oVmp zfLB9frh0EFg_tJqYrGh{v7wCixk^xI=1pwV|Wi z=y$`EMW9jSBW%F_t@J(J1J6O>;SX#>y}PIv0gP?4J!+j6tH5PWK|0%$Vz8UmvA7&D zeZ{Plr}g?StM^=Ba?s&FSFUu|PZB7dkPaL~x|?h*G*LmssRI~V*+AcVtrp(p5%(0B zBi&l$H(mjD%wA*yE7WRWw#@rf>eOEj$&kPyryO8|?vWL6v+6CikRy>^4o7?^PEi$; z`Ts{ziSh7MzZX}wg0l*6GRhhpCQiViFTGD@N-CW!!Jv8Fq-JT?7wtEJvlqbJI6XlY zSY=vuHN`4Wr(ai}8o9DnLQjWF2 zM1?8-z}V;pdVSSuj#!oTpB|K`mo%&dh3@(34LQKJl7|4WCkjr?XFV270>^=QmcukH zU;+N~J#eh%99SASqrccz_cAWNYsY zV!){c7F%HTTi6dAls5;?g?TAOK_p#Y00T5vaEcS}8kai@fqBvwSmtzINoa(W5S^eB z;#XA`$N+0#w=eL3?EyhxZ;?e39Du-4u6IA4^9ync0Q*A)g1_YMJuV0PIlg7xYu_W0 zz*5V+5;!uLI@w_l*udhSrMYrD3(Kl@f#wT=K;=he!7kxl;MEDhPH!-DO+k^E+~XQ$ zCva^(aWgP1AG;!sigOYE1e-=gNqu02@RynV;y2O ngxus5;I>7uSx>tDGc)zRdivnaozK97s~9|8{an^LB{Ts5Lr3lJ literal 0 HcmV?d00001 diff --git a/test/expected_java/side_stacked_bar_no_labels.png b/test/expected_java/side_stacked_bar_no_labels.png new file mode 100644 index 0000000000000000000000000000000000000000..4da90b62669e76dc23994d5f9d09497db3d5d76c GIT binary patch literal 8621 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 Mqbyw__3`Wf0vjC2V*mgE literal 0 HcmV?d00001 diff --git a/test/expected_java/side_stacked_bar_no_line_markers.png b/test/expected_java/side_stacked_bar_no_line_markers.png new file mode 100644 index 0000000000000000000000000000000000000000..aae7c1d4765daf83ab02b93570e1865277bef143 GIT binary patch literal 9399 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 '5/6', 1 => '5/15', - 2 => '5/24' + 2 => '5/24', + 3 => '5/30' + } + @long_labels = { + 0 => 'September', + 1 => 'Oct', + 2 => 'Nov', + 3 => 'Dec' } end def test_bar_graph - g = Gruff::SideStackedBar.new + g = setup_basic_graph g.title = 'Visual Stacked Bar Graph Test' - g.labels = { - 0 => '5/6', - 1 => '5/15', - 2 => '5/24', - 3 => '5/30' - } - @datasets.each do |data| - g.data(data[0], data[1]) - end g.write('test/output/side_stacked_bar_keynote.png') assert_same_image('test/expected/side_stacked_bar_keynote.png', 'test/output/side_stacked_bar_keynote.png') end def test_bar_graph_small - g = Gruff::SideStackedBar.new(400) + g = setup_basic_graph(400) g.title = 'Visual Stacked Bar Graph Test' - g.labels = { - 0 => '5/6', - 1 => '5/15', - 2 => '5/24', - 3 => '5/30' - } - @datasets.each do |data| - g.data(data[0], data[1]) - end g.write('test/output/side_stacked_bar_keynote_small.png') assert_same_image('test/expected/side_stacked_bar_keynote_small.png', 'test/output/side_stacked_bar_keynote_small.png') end def test_wide + @labels = { + 0 => '5/6', + 1 => '5/15', + 2 => '5/24' + } g = setup_basic_graph('800x400') g.title = 'Wide SSBar' g.write('test/output/side_stacked_bar_wide.png') @@ -59,38 +53,50 @@ def test_wide end def test_should_space_long_left_labels_appropriately - g = Gruff::SideStackedBar.new + @labels = @long_labels + g = setup_basic_graph g.title = 'Stacked Bar Long Label' - g.labels = { - 0 => 'September', - 1 => 'Oct', - 2 => 'Nov', - 3 => 'Dec' - } - @datasets.each do |data| - g.data(data[0], data[1]) - end g.write('test/output/side_stacked_bar_long_label.png') assert_same_image('test/expected/side_stacked_bar_long_label.png', 'test/output/side_stacked_bar_long_label.png') end def test_bar_labels - g = Gruff::SideStackedBar.new + @labels = @long_labels + g = setup_basic_graph g.title = 'Stacked Bar Long Label' - g.labels = { - 0 => 'September', - 1 => 'Oct', - 2 => 'Nov', - 3 => 'Dec' - } - @datasets.each do |data| - g.data(data[0], data[1]) - end g.show_labels_for_bar_values = true g.write('test/output/side_stacked_bar_labels.png') assert_same_image('test/expected/side_stacked_bar_labels.png', 'test/output/side_stacked_bar_labels.png') end + def test_no_labels + @labels = @long_labels + g = setup_basic_graph(400) + g.title = 'No Labels' + g.hide_labels = true + g.write('test/output/side_stacked_bar_no_labels.png') + assert_same_image('test/expected/side_stacked_bar_no_labels.png', 'test/output/side_stacked_bar_no_labels.png') + end + + def test_no_line_markers_or_labels + @labels = @long_labels + g = setup_basic_graph(400) + g.title = 'No Line Markers or Labels' + g.hide_labels = true + g.hide_line_markers = true + g.write('test/output/side_stacked_bar_no_line_markers_or_labels.png') + assert_same_image('test/expected/side_stacked_bar_no_line_markers_or_labels.png', 'test/output/side_stacked_bar_no_line_markers_or_labels.png') + end + + def test_no_line_markers + @labels = @long_labels + g = setup_basic_graph(400) + g.title = 'No Line Markers' + g.hide_line_markers = true + g.write('test/output/side_stacked_bar_no_line_markers.png') + assert_same_image('test/expected/side_stacked_bar_no_line_markers.png', 'test/output/side_stacked_bar_no_line_markers.png') + end + def test_draw_twice g = setup_basic_graph g.show_labels_for_bar_values = true @@ -105,7 +111,7 @@ def test_draw_twice def setup_basic_graph(size = 800) g = Gruff::SideStackedBar.new(size) g.title = 'My Graph Title' - g.labels = @sample_labels + g.labels = @labels @datasets.each do |data| g.data(data[0], data[1]) end