求助:用SAS绘制带误差棒与百分比的患病率柱状图
解决方法:用SAS生成带置信区间误差棒的柱状图
你的问题出在使用了band语句——这个语句用于绘制连续区域范围,而非你需要的带短帽的垂直误差棒。要实现目标图的效果,有两种更合适的方式:
方法1:在vbarparm中直接指定误差棒参数
直接在vbarparm语句内添加误差棒相关参数,无需额外语句即可在柱状图上生成置信区间误差棒:
data disabilities; input disability $ prevalence lower upper; datalines; Physical 86.38 84.75 88.01 Cognitive 83.42 81.99 84.85 Both 80.71 78.23 83.19 No 88.26 87.76 88.76; run; proc sgplot data=disabilities; vbarparm category=disability response=prevalence / group=disability fillpattern limits=lowerupper lower=lower upper=upper /* 启用误差棒并关联置信区间变量 */ limitattrs=(color=black); /* 自定义误差棒颜色,可选 */ xaxis discreteorder=datapart; yaxis label="患病率(%)"; /* 添加Y轴标签,可选 */ run;
方法2:使用errorbar语句配合vbarparm
如果需要更灵活地控制误差棒的样式(如线宽、帽长),可以单独使用errorbar语句:
proc sgplot data=disabilities; vbarparm category=disability response=prevalence / group=disability fillpattern; errorbar x=disability y=prevalence lower=lower upper=upper / whiskerwidth=1.5 caplength=0.1; /* 自定义误差棒线宽和帽长 */ xaxis discreteorder=datapart; yaxis label="患病率(%)"; run;
关键修改说明
- 移除
band语句,替换为专门针对误差棒设计的参数或语句 limits=lowerupper是vbarparm内置的误差棒控制参数,直接关联你的置信区间变量errorbar语句可独立调整误差棒的视觉细节,满足个性化需求
内容的提问来源于stack exchange,提问作者kelsz24
相关产品推荐
相关产品推荐

