在参考线之间添加标签 SAS
Adding Labels Between Reference Lines SAS
我知道如何给参考线添加标签,但是如何在参考线之间添加标签?
这是我现在的代码:
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;
run;
这是我的图表:
我想要做的是在 4 处的参考线左侧有一个标签“Phase 1”,在 2 条参考线之间有一个标签“Phase 2”,在参考线的右侧有一个标签“Phase 3”在 4.
我该怎么做?
使用 LABEL option on REFLINE 语句添加它们。
标签 <=变量> | <=(“文本字符串 1” ... “文本字符串 n”)>
为每条参考线创建标签。如果您未指定标签值,则该行的参考值将用作标签。
如果指定标签值,则可以使用以下选项。
您可以使用 labelloc
和 labelpos
来帮助控制位置。
refline 4 8 / axis=x label = ("Phase 1", "Phase 2") labelloc=inside;
如果您不能将它们准确地放置在您想要的位置,您可以指定一个 X/Y 位置并改用 TEXT 语句。不过,这确实需要您将数据添加到图形数据集中。
data refLabels;
infile cards dlm=',';
input label_x label_y label_text $;
4, 45, Phase 1
5, 45, Phase 2
;;;;
data biosc.summary1;
set biosc.summary1 refLabels;
run;
然后将 text 语句添加到您的 SGPLOT。
text x = label_x y = label_y text = label_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;
run;
这是我的图表:
我想要做的是在 4 处的参考线左侧有一个标签“Phase 1”,在 2 条参考线之间有一个标签“Phase 2”,在参考线的右侧有一个标签“Phase 3”在 4.
我该怎么做?
使用 LABEL option on REFLINE 语句添加它们。
标签 <=变量> | <=(“文本字符串 1” ... “文本字符串 n”)> 为每条参考线创建标签。如果您未指定标签值,则该行的参考值将用作标签。 如果指定标签值,则可以使用以下选项。
您可以使用 labelloc
和 labelpos
来帮助控制位置。
refline 4 8 / axis=x label = ("Phase 1", "Phase 2") labelloc=inside;
如果您不能将它们准确地放置在您想要的位置,您可以指定一个 X/Y 位置并改用 TEXT 语句。不过,这确实需要您将数据添加到图形数据集中。
data refLabels;
infile cards dlm=',';
input label_x label_y label_text $;
4, 45, Phase 1
5, 45, Phase 2
;;;;
data biosc.summary1;
set biosc.summary1 refLabels;
run;
然后将 text 语句添加到您的 SGPLOT。
text x = label_x y = label_y text = label_text;