对于以下x,y数据,如何绘制垂直线的恰好在图的中间中(请注意,不应订购x,并且绘图是是)。
当x在下面的数据中以0、1、2、3 ..等等时,如何在x = 5处绘制垂直线(x = 0的距离)。
data sample;
infile cards truncover expandtabs;
input X Y;
cards;
29 21
18 23
28 24
16 26
3 27
18 29
2 33
3 37
26 39
2 42
25 47
9 54
13 57
17 58
29 60
5 63
23 66
4 69
3 72
17 73
7 73
12 72
8 69
20 66
12 63
8 60
28 58
3 57
18 54
11 47
21 42
8 39
1 37
16 29
3 27
17 22
3 19
6 17
19 14
18 10
;
run;
我尝试了:
proc sort data=sample ;
by x;
run;
proc sgplot data=sample;
needle x=x y=y;
run;
data Trapezoidal;
set sample end=last;
dif_x=dif(x);
mean_y=mean(lag(y),y);
integral + (dif_x*mean_y);
if last then putlog 'area under curve is ' integral;
run;
垂直线与 refline
绘制。但是,确定您希望的"中间"是什么(使用proc means
或proc sql
或类似),将其放入数据集中的变量或宏变量中,然后在proc sgplot
中使用refline
来生成该行。
同样适用于您的特定值 - X(除了您实际上不需要在此处做任何事情来产生绘制的值)。添加refline x=5;
或与图的类似物。
如果您想突出某些区域,也可以使用band
图。