如何在SAS SGPLOT中自定义X轴仅显示指定分类?
解决SGPLOT X轴仅显示特定分类指标的方案
以下是两种可行的代码方案,可根据你的实际需求选择:
方法1:直接指定X轴要显示的特定取值
通过在xaxis语句中添加values参数,明确列出你需要展示的rq_pt取值,未列出的取值仍会参与绘图,但不会在X轴显示标签。
修改后的完整代码:
proc sgplot data=via05; xaxis label = "" values=("特定值1" "特定值3" "特定值10"); /* 替换为你需要显示的实际取值,数值型则去掉引号 */ yaxis label = ""; styleattrs dataconstrastcolors = (black red blue skyblue orange green gray); /* 修正原代码的grig拼写错误为gray */ series x=rq_pt y=count_time / datalabel group=gro lineattrs=(thickness=3) grouplp=grouplinepattern; run;
方法2:自定义格式隐藏不需要的X轴标签
如果需要批量隐藏大部分标签,可通过自定义格式将不需要显示的取值设为空字符串,仅保留目标取值的标签。
步骤1:创建自定义格式
proc format; value rq_pt_fmt "特定值1" = "特定值1" "特定值5" = "特定值5" "特定值20" = "特定值20" /* 列出所有需要显示的取值 */ other = ""; /* 其他取值标签设为空 */ run;
如果rq_pt是数值型,去掉引号即可:
proc format; value rq_pt_fmt 1 = "1" 5 = "5" 20 = "20" other = ""; run;
步骤2:在SGPLOT中应用格式
proc sgplot data=via05; format rq_pt rq_pt_fmt.; /* 应用自定义格式 */ xaxis label = ""; yaxis label = ""; styleattrs dataconstrastcolors = (black red blue skyblue orange green gray); series x=rq_pt y=count_time / datalabel group=gro lineattrs=(thickness=3) grouplp=grouplinepattern; run;
内容的提问来源于stack exchange,提问作者overbold
相关产品推荐
相关产品推荐

