如何在SAS的SGPLOT图表参考线之间添加自定义标签
SAS SGPLOT 参考线区间添加自定义标签解决方案
你可以通过新增TEXT语句在指定坐标位置叠加文本标签实现需求,修改后的完整代码如下:
proc sgplot data=biosc.Summary; series x=day y=Mean / group=Treat; scatter x=day y=Mean / group=Treat yerrorlower=LowerSD yerrorupper=UpperSD; where day in (3:10); xaxistable N / location=inside class=Treat colorgroup=Treat title="Number of Patients Participating by Treatment Day" valueattrs=(size=10) labelattrs=(size=10); yaxis label='Mean +/- SD'; xaxis label='Study Day' values=(3 4 5 6 7 8 9 10); refline 4 8 / axis=x; /* 新增三个阶段标签,y值可根据你的实际数据范围调整,避免遮挡曲线 */ text x=3.5 y=18 text="Phase 1" / textattrs=(size=12 weight=bold); text x=6 y=18 text="Phase 2" / textattrs=(size=12 weight=bold); text x=9 y=18 text="Phase 3" / textattrs=(size=12 weight=bold); run;
参数说明
x:指定标签的水平位置,你可以根据实际显示效果微调坐标:3.5对应x=4左侧区间中心,6对应4和8的中间位置,9对应x=8右侧区间中心y:指定标签的垂直位置,请替换为你图表y轴范围内不遮挡曲线的数值,比如你可以设置为y轴最大值的90%高度textattrs:可选参数,用来调整标签的字体大小、粗细、颜色等样式
你当前生成的原始图表如下:
运行修改后的代码即可在对应区间显示三个阶段标签。
内容的提问来源于stack exchange,提问作者keherder
相关产品推荐
相关产品推荐

