OK. You want outliers as SAS did ? No problem.
data have;
set sashelp.heart(keep=status sex weight);
run;
ods select none;
ods output sgplot=sgplot;
proc sgplot data=have;
vbox weight/category=status group=sex ;
run;
ods select all;
data stat outliers;
set sgplot;
if BOX_WEIGHT_X_STATUS_GROUP_SE__ST in ('MIN' 'Q1' 'MEDIAN' 'Q3' 'MAX' 'MEAN') then output stat;
if find(BOX_WEIGHT_X_STATUS_GROUP_SE__ST,'OUTLIER') then output outliers;
run;
proc sort data=stat;by BOX_WEIGHT_X_STATUS_GROUP_SE___X BOX_WEIGHT_X_STATUS_GROUP_SE__GP;run;
proc transpose data=stat out=stat2;
by BOX_WEIGHT_X_STATUS_GROUP_SE___X BOX_WEIGHT_X_STATUS_GROUP_SE__GP;
var BOX_WEIGHT_X_STATUS_GROUP_SE___Y;
id BOX_WEIGHT_X_STATUS_GROUP_SE__ST;
run;
data stat2;
set stat2;
l_mean=mean-5;
h_mean=mean+5;
run;
data want;
set stat2 outliers;
run;
ods graphics/ATTRPRIORITY=none;
proc sgplot data=want;
styleattrs DATALINEPATTERNS=(solid shortdash) ;
highlow x=BOX_WEIGHT_X_STATUS_GROUP_SE___X high=max low=min /
lineattrs=(color=black) group=BOX_WEIGHT_X_STATUS_GROUP_SE__GP groupdisplay=cluster;
highlow x=BOX_WEIGHT_X_STATUS_GROUP_SE___X high=q3 low=q1/type=bar barwidth=0.5 nooutline
lineattrs=(color=black) group=BOX_WEIGHT_X_STATUS_GROUP_SE__GP groupdisplay=cluster fillattrs=(color=white);
highlow x=BOX_WEIGHT_X_STATUS_GROUP_SE___X high=q3 low=q1/type=bar barwidth=0.5
lineattrs=(color=black) group=BOX_WEIGHT_X_STATUS_GROUP_SE__GP groupdisplay=cluster nofill;
highlow x=BOX_WEIGHT_X_STATUS_GROUP_SE___X high=median low=median/type=bar barwidth=0.5
lineattrs=(color=black) group=BOX_WEIGHT_X_STATUS_GROUP_SE__GP groupdisplay=cluster nofill;
highlow x=BOX_WEIGHT_X_STATUS_GROUP_SE___X high=min low=min/type=bar barwidth=0.3
lineattrs=(color=black) group=BOX_WEIGHT_X_STATUS_GROUP_SE__GP groupdisplay=cluster nofill;
highlow x=BOX_WEIGHT_X_STATUS_GROUP_SE___X high=max low=max/type=bar barwidth=0.3
lineattrs=(color=black) group=BOX_WEIGHT_X_STATUS_GROUP_SE__GP groupdisplay=cluster nofill;
highlow x=BOX_WEIGHT_X_STATUS_GROUP_SE___X high=mean low=mean/type=bar barwidth=0.15
lineattrs=(color=black) group=BOX_WEIGHT_X_STATUS_GROUP_SE__GP groupdisplay=cluster nofill;
highlow x=BOX_WEIGHT_X_STATUS_GROUP_SE___X high=h_mean low=l_mean/
lineattrs=(color=black) group=BOX_WEIGHT_X_STATUS_GROUP_SE__GP groupdisplay=cluster ;
scatter x=BOX_WEIGHT_X_STATUS_GROUP_SE___X y=BOX_WEIGHT_X_STATUS_GROUP_SE___Y/
group=BOX_WEIGHT_X_STATUS_GROUP_SE__GP groupdisplay=cluster markerattrs=(color=black);
run;
... View more