@@ -6898,14 +6898,7 @@ def violin(self, vpstats, positions=None, vert=True, widths=0.5,
6898
6898
medians = []
6899
6899
6900
6900
# Collections to be returned
6901
- artists = {
6902
- 'bodies' : [],
6903
- 'cmeans' : None ,
6904
- 'cmaxes' : None ,
6905
- 'cmins' : None ,
6906
- 'cbars' : None ,
6907
- 'cmedians' : None
6908
- }
6901
+ artists = {}
6909
6902
6910
6903
N = len (vpstats )
6911
6904
datashape_message = ("List of violinplot statistics and `{0}` "
@@ -6927,53 +6920,50 @@ def violin(self, vpstats, positions=None, vert=True, widths=0.5,
6927
6920
pmins = - 0.25 * np .array (widths ) + positions
6928
6921
pmaxes = 0.25 * np .array (widths ) + positions
6929
6922
6930
- # Check hold status
6931
- if not self ._hold :
6932
- self .cla ()
6933
- hold_status = self ._hold
6934
-
6935
6923
# Check whether we are rendering vertically or horizontally
6936
6924
if vert :
6937
6925
fill = self .fill_betweenx
6938
- rlines = self .hlines
6939
- blines = self .vlines
6926
+ perp_lines = self .hlines
6927
+ par_lines = self .vlines
6940
6928
else :
6941
6929
fill = self .fill_between
6942
- rlines = self .vlines
6943
- blines = self .hlines
6930
+ perp_lines = self .vlines
6931
+ par_lines = self .hlines
6944
6932
6945
6933
# Render violins
6934
+ bodies = []
6946
6935
for stats , pos , width in zip (vpstats , positions , widths ):
6947
6936
# The 0.5 factor reflects the fact that we plot from v-p to
6948
6937
# v+p
6949
6938
vals = np .array (stats ['vals' ])
6950
6939
vals = 0.5 * width * vals / vals .max ()
6951
- artists [ ' bodies' ] += [fill (stats ['coords' ],
6952
- - vals + pos ,
6953
- vals + pos ,
6954
- facecolor = 'y' ,
6955
- alpha = 0.3 )]
6940
+ bodies += [fill (stats ['coords' ],
6941
+ - vals + pos ,
6942
+ vals + pos ,
6943
+ facecolor = 'y' ,
6944
+ alpha = 0.3 )]
6956
6945
means .append (stats ['mean' ])
6957
6946
mins .append (stats ['min' ])
6958
6947
maxes .append (stats ['max' ])
6959
6948
medians .append (stats ['median' ])
6949
+ artists ['bodies' ] = bodies
6960
6950
6961
6951
# Render means
6962
6952
if showmeans :
6963
- artists ['cmeans' ] = rlines (means , pmins , pmaxes , colors = 'r' )
6953
+ artists ['cmeans' ] = perp_lines (means , pmins , pmaxes , colors = 'r' )
6964
6954
6965
6955
# Render extrema
6966
6956
if showextrema :
6967
- artists ['cmaxes' ] = rlines (maxes , pmins , pmaxes , colors = 'r' )
6968
- artists ['cmins' ] = rlines (mins , pmins , pmaxes , colors = 'r' )
6969
- artists ['cbars' ] = blines (positions , mins , maxes , colors = 'r' )
6957
+ artists ['cmaxes' ] = perp_lines (maxes , pmins , pmaxes , colors = 'r' )
6958
+ artists ['cmins' ] = perp_lines (mins , pmins , pmaxes , colors = 'r' )
6959
+ artists ['cbars' ] = par_lines (positions , mins , maxes , colors = 'r' )
6970
6960
6971
6961
# Render medians
6972
6962
if showmedians :
6973
- artists ['cmedians' ] = rlines (medians , pmins , pmaxes , colors = 'r' )
6974
-
6975
- # Reset hold
6976
- self . hold ( hold_status )
6963
+ artists ['cmedians' ] = perp_lines (medians ,
6964
+ pmins ,
6965
+ pmaxes ,
6966
+ colors = 'r' )
6977
6967
6978
6968
return artists
6979
6969
0 commit comments