From b3e329c4e9303dc262dd3b7835b3c5f1054cd960 Mon Sep 17 00:00:00 2001 From: Paul Hobson Date: Fri, 20 Sep 2013 10:27:33 -0700 Subject: [PATCH 1/2] BUG: fixed shape validation for manual conf intervals in boxplots --- lib/matplotlib/axes.py | 2 +- lib/matplotlib/tests/test_axes.py | 19 ++++++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/axes.py b/lib/matplotlib/axes.py index a3a92ee54d1f..22a69ae2e3c7 100644 --- a/lib/matplotlib/axes.py +++ b/lib/matplotlib/axes.py @@ -5990,7 +5990,7 @@ def computeConfInterval(data, med, iq, bootstrap): raise ValueError(msg1) elif conf_intervals.shape[0] != col: raise ValueError(msg2) - elif conf_intervals.shape[1] == 2: + elif conf_intervals.shape[1] != 2: raise ValueError(msg3) else: if len(conf_intervals) != col: diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 7211995ed46a..a3e39b94ecbb 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -973,7 +973,9 @@ def bump(a): plt.stackplot(range(100), d.T, baseline='weighted_wiggle') -@image_comparison(baseline_images=['boxplot']) +@image_comparison(baseline_images=['boxplot'], + remove_text=True, extensions=['png'], + savefig_kwarg={'dpi': 40}) def test_boxplot(): x = np.linspace(-7, 7, 140) x = np.hstack([-25, x, 25]) @@ -985,6 +987,21 @@ def test_boxplot(): conf_intervals=[None, (-1.0, 3.5)], notch=1) ax.set_ylim((-30, 30)) +@image_comparison(baseline_images=['boxplot_with_CIarray'], + remove_text=True, extensions=['png'], + savefig_kwarg={'dpi': 40}) +def test_boxplot_with_CIarray(): + x = np.linspace(-7, 7, 140) + x = np.hstack([-25, x, 25]) + fig = plt.figure() + ax = fig.add_subplot(111) + CIs = np.array([-1.5, 3.], [-1., 3.5]) + + # show 1 boxplot with mpl medians/conf. interfals, 1 with manual values + ax.boxplot([x, x], bootstrap=10000, usermedians=[None, 1.0], + conf_intervals=CIs, notch=1) + ax.set_ylim((-30, 30)) + @image_comparison(baseline_images=['boxplot_no_inverted_whisker'], remove_text=True, extensions=['png'], savefig_kwarg={'dpi': 40}) From 3a970575bab133fb3689899500c37e8ada4e4148 Mon Sep 17 00:00:00 2001 From: Paul Hobson Date: Fri, 20 Sep 2013 13:40:09 -0700 Subject: [PATCH 2/2] TST: fixed new test and added baseline PNG --- .../test_axes/boxplot_with_CIarray.png | Bin 0 -> 2369 bytes lib/matplotlib/tests/test_axes.py | 6 ++---- 2 files changed, 2 insertions(+), 4 deletions(-) create mode 100644 lib/matplotlib/tests/baseline_images/test_axes/boxplot_with_CIarray.png diff --git a/lib/matplotlib/tests/baseline_images/test_axes/boxplot_with_CIarray.png b/lib/matplotlib/tests/baseline_images/test_axes/boxplot_with_CIarray.png new file mode 100644 index 0000000000000000000000000000000000000000..c3136d0e13e709eb49178d0a1c64cb250664fa28 GIT binary patch literal 2369 zcmb`J2~<;89>yOKAfzb7RDueGN;}TTunb^{3I-^PfPf-IQI-tgg6tvz2@ow#eJp}? zDw{|w0?N{`Oi`31Y(cE-OJ#}4E1^OHgb-N*WTBz$>6tUrPB}C4&bjZq+qv7h|KE4h zk9)doL+nNX0I<#VsG~OkDA_6U3ve~XKh}gEt`Jz9gR2i*@g>7UK}A_3=BQsB0I2<8 zGbvF}hl~IKKI!Uc?~_<0V0(dj=XSSDShwQr?Z?v`AI|-8sBkDr8`jer{)N+Is~+Ay zeN}xY$`YOCXIr6be=f9*uw4UD^}w(?^F5^5Sen7ogQ{9}_Za-=p&@thRwrzh3=pmH zdHjOXs^;ja6oZ!^9QVE2ZoTaOZE4l{o*1m2nw>+qyB2Uf15ggrFua}nzl$%Xr97-8 ztZ*;{2=VEmo$#0rKQt`bVeor#0%61ma_q#%a96;x1}}XABT+x zeNUiwi7alslCFd<6iH{!)4MLK!b{&GYAu=>$}tCO*ZqX`uv!Pt8~)V^2cxcE{~D%! z)E)R;saglNtEF9}ne4#dEf1^2)>LU3+MTK->*H%iG8tmk)=KZLg95~s#@fPk|EbH* zODQa0(rwW_;Bm6!YCsC0^!)PX>GPM9283ew9Hp!iCevRV+ZmcD!3KBynpDcu`ge8r z_P%IqYkMguFE0=7%+^QcgQkAMBsf7;4x!gt(~$S9(Yl}YDykY)sl%;lW%~$ssuOl8 z!%IK9cK1v(V+nTb&a&wzfblZ#;Xk+8ol!nrVM}uJYWdJlXaTGBcFF#t_?l}y=iI8{ z(ha)EnMo4f;>`Dd3En@9hRzR_gI}HPv_!KL*WQ9!M?kD(uH)&R1`cjRFILciOkf}2 ztkt7hG)NmV5FMyXXL}cG<`*Da#slJgnF)}SjdX#_x^+f~4$2yBjHUf!LMM@H+GxmK zm>6K)%77-?1$B>E%OftyD}Ky@hndk&N0TtNyG3i$$dLeR&X{&fded|8Q!z>qmHbxjl^)4*0;L?byr~6}cMJp^MSt{n8Ex}2RxfJsKj0uRi%IHT} z>N(GG^hLubk>Po<-_#K!nSb|kwplq%dPHD%)~o|7NpzlAQr5|1TJ|~m$9XVcoOOnF zcsMa#$YB)3XhW4`OqY@un9;cW8q72clr!@D2jxN$BLyjjaPl#?inm2nxlUq3()=^f zxW=E;srMuzJ-;|RQNA`m6-+y_Rw{$!d!lV*A#bjnWab4qC$IBYr%FD$rrO=puu%^Y zS?|Q`=M5=Vm;Qt)dq7iB-&>r>?aoq&#zILwpsZvgk*`0(YW#SXMPNz&Ekz#Jat zvLeQl{H4XIL6o`c>n2UFPkjhP;>S8Va`B@!eVbLNnNnDop?_HVVD4^j(ue{N-(}jM zX9KjJwkQVOWXHeCx9TzGx{gCuWu3r_$6bhkkvrf&BnXQ_+b3@S(_4j?_7myndTM5iA*K*$aY