簡體   English   中英

在2個不同的值之間將反射線添加到SAS繪圖

[英]Adding refline to SAS sgplot between 2 distinct values

我有一個繪制2個系列的sgplot,需要用多行注釋。 我了解如何添加標准參考線(請參閱下文),但

我的問題是我不知道如何在2個不同點之間添加參考線。 即在y軸值0和-50之間的x軸值50處的垂直虛線。 我需要設置每條線的起點和終點,而不僅僅是起點上的點。

proc sgplot data = all_sd_dplot noautolegend ;
by variablecode ;
where variablecode='V01'
and comparisonstudyid in (29318 29322);
series x=bin y= sigmavalue  / group=legendname name="series";
series x=bin y= fit  / group=legendname name="series" LINEATTRS= (color = black thickness=2);
yaxis values=(-160 to 20 by 20) label = "Accumulated minutes over baseline";
xaxis  values = (0 12 24 36 48 60) label = "Hours";
REFLINE 0 / AXIS= Y TRANSPARENCY = 0.2 LINEATTRS= (COLOR=black pattern=dot thickness=2); *baseline;
REFLINE 4 / AXIS= X TRANSPARENCY = 0.5 LINEATTRS= (COLOR=red); *end of SD;
REFLINE 0 / AXIS= X TRANSPARENCY = 0.5 LINEATTRS= (COLOR=blue); *start of SD;
REFLINE -135 / AXIS= Y TRANSPARENCY = 0.2 LINEATTRS= (COLOR=black pattern=dot thickness=2); *Y0;
run;

任何幫助將非常感激!!

我認為沒有使用refline的方法。 我認為您需要在數據集中創建一些虛假數據,以使起點/終點以及其余值丟失。 然后使用系列畫線。 我還建議您在community.sas.com上發布,以便一名SAS Graph專家可以提供幫助。

proc sort data=sashelp.class out=class;
by sex;
run;

data class;
set class; 
by sex;
if last.sex then do;
x=13; y=75;output;
x=18; y=75; output;
end;
else output;
run;

proc sgplot data=class;
by sex;
scatter x=age y=weight;
scatter x=age y=height;
series x=x y=y/lineattrs=(color=red thickness=2 pattern=solid);
run;

以下SAS-UG論文( http://pharmasug.org/download/papers/SA-AD-02.pdf )中的“ VECTOR”用法也許可以奏效(請參閱第3頁的示例)。

對於我來說,使用批注比使用SGPLOT函數更容易。 您當然可以像Reeza所說的那樣,將它們作為數據集添加到行中,但是由於某些原因,這可能並不理想。 注釋確實為此目的而存在,並且在我看來,它們使注釋井井有條(盡管有時確實更容易作弊)。

部分使用Reeza的示例,這是我的做法:

proc sort data=sashelp.class out=class;
  by sex;
run;

data class_annotations;
  x1space='DataValue';
  y1space='DataValue';
  x2space='DataValue';
  y2space='DataValue';
  x1=13;
  y1=80;
  x2=13;
  y2=120;
  function='line';
  output;
  x1=15;
  x2=15;
  output;
run;

proc sgplot data=class sganno=class_annotations;
  by sex;
  scatter x=age y=weight;
  scatter x=age y=height/ y2axis;
run;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM