Suppose below is the data for which I want to make a plot in SAS EG but with conditions that..
1. An over lapping plots of X and Y when POS=L (i.e. line plot for POS 'L' of Jan 1st and on top of it another line of Jan 31st)
2. Similarly a different Line plot of X and Y when POS='R'
MeasNo | X | Y | Date | Ano | POS |
1 | 10 | 2 | 01JAN16 | 1 | L |
2 | 11 | 4 | 01JAN16 | 1 | L |
3 | 12 | 3 | 01JAN16 | 1 | L |
4 | 13 | 5 | 01JAN16 | 1 | L |
5 | 14 | 6 | 01JAN16 | 1 | L |
6 | 15 | 3 | 01JAN16 | 1 | L |
7 | 16 | 4 | 01JAN16 | 1 | L |
8 | 17 | 7 | 01JAN16 | 1 | L |
9 | 18 | 8 | 01JAN16 | 1 | L |
10 | 19 | 4 | 01JAN16 | 1 | L |
11 | 20 | 6 | 01JAN16 | 1 | L |
12 | 21 | 3 | 01JAN16 | 1 | L |
13 | 22 | 2 | 01JAN16 | 1 | L |
14 | 23 | 7 | 01JAN16 | 1 | L |
15 | 24 | 9 | 01JAN16 | 1 | L |
16 | 25 | 6 | 01JAN16 | 1 | L |
17 | 26 | 5 | 01JAN16 | 1 | L |
18 | 27 | 4 | 01JAN16 | 1 | L |
19 | 28 | 3 | 01JAN16 | 1 | L |
20 | 29 | 5 | 01JAN16 | 1 | L |
21 | 30 | 4 | 01JAN16 | 1 | L |
22 | 31 | 7 | 01JAN16 | 1 | L |
23 | 32 | 8 | 01JAN16 | 1 | L |
24 | 33 | 7 | 01JAN16 | 1 | L |
25 | 34 | 9 | 01JAN16 | 1 | L |
26 | 35 | 8 | 01JAN16 | 1 | L |
27 | 36 | 6 | 01JAN16 | 1 | L |
28 | 37 | 7 | 01JAN16 | 1 | L |
29 | 38 | 5 | 01JAN16 | 1 | L |
30 | 39 | 4 | 01JAN16 | 1 | L |
1 | 10 | 4 | 01JAN16 | 1 | R |
2 | 11 | 6 | 01JAN16 | 1 | R |
3 | 12 | 5 | 01JAN16 | 1 | R |
4 | 13 | 7 | 01JAN16 | 1 | R |
5 | 14 | 8 | 01JAN16 | 1 | R |
6 | 15 | 5 | 01JAN16 | 1 | R |
7 | 16 | 6 | 01JAN16 | 1 | R |
8 | 17 | 9 | 01JAN16 | 1 | R |
9 | 18 | 10 | 01JAN16 | 1 | R |
10 | 19 | 6 | 01JAN16 | 1 | R |
11 | 20 | 8 | 01JAN16 | 1 | R |
12 | 21 | 5 | 01JAN16 | 1 | R |
13 | 22 | 4 | 01JAN16 | 1 | R |
14 | 23 | 9 | 01JAN16 | 1 | R |
15 | 24 | 11 | 01JAN16 | 1 | R |
16 | 25 | 8 | 01JAN16 | 1 | R |
17 | 26 | 7 | 01JAN16 | 1 | R |
18 | 27 | 6 | 01JAN16 | 1 | R |
19 | 28 | 5 | 01JAN16 | 1 | R |
20 | 29 | 7 | 01JAN16 | 1 | R |
21 | 30 | 6 | 01JAN16 | 1 | R |
22 | 31 | 9 | 01JAN16 | 1 | R |
23 | 32 | 10 | 01JAN16 | 1 | R |
24 | 33 | 9 | 01JAN16 | 1 | R |
25 | 34 | 11 | 01JAN16 | 1 | R |
26 | 35 | 10 | 01JAN16 | 1 | R |
27 | 36 | 8 | 01JAN16 | 1 | R |
28 | 37 | 9 | 01JAN16 | 1 | R |
29 | 38 | 7 | 01JAN16 | 1 | R |
30 | 39 | 6 | 01JAN16 | 1 | R |
1 | 10 | 1 | 31JAN16 | 1 | L |
2 | 11 | 3 | 31JAN16 | 1 | L |
3 | 12 | 2 | 31JAN16 | 1 | L |
4 | 13 | 4 | 31JAN16 | 1 | L |
5 | 14 | 5 | 31JAN16 | 1 | L |
6 | 15 | 2 | 31JAN16 | 1 | L |
7 | 16 | 3 | 31JAN16 | 1 | L |
8 | 17 | 6 | 31JAN16 | 1 | L |
9 | 18 | 7 | 31JAN16 | 1 | L |
10 | 19 | 3 | 31JAN16 | 1 | L |
11 | 20 | 5 | 31JAN16 | 1 | L |
12 | 21 | 2 | 31JAN16 | 1 | L |
13 | 22 | 1 | 31JAN16 | 1 | L |
14 | 23 | 6 | 31JAN16 | 1 | L |
15 | 24 | 8 | 31JAN16 | 1 | L |
16 | 25 | 5 | 31JAN16 | 1 | L |
17 | 26 | 4 | 31JAN16 | 1 | L |
18 | 27 | 3 | 31JAN16 | 1 | L |
19 | 28 | 2 | 31JAN16 | 1 | L |
20 | 29 | 4 | 31JAN16 | 1 | L |
21 | 30 | 3 | 31JAN16 | 1 | L |
22 | 31 | 6 | 31JAN16 | 1 | L |
23 | 32 | 7 | 31JAN16 | 1 | L |
24 | 33 | 6 | 31JAN16 | 1 | L |
25 | 34 | 8 | 31JAN16 | 1 | L |
26 | 35 | 7 | 31JAN16 | 1 | L |
27 | 36 | 5 | 31JAN16 | 1 | L |
28 | 37 | 6 | 31JAN16 | 1 | L |
29 | 38 | 4 | 31JAN16 | 1 | L |
30 | 39 | 3 | 31JAN16 | 1 | L |
1 | 10 | 4 | 31JAN16 | 1 | R |
2 | 11 | 6 | 31JAN16 | 1 | R |
3 | 12 | 5 | 31JAN16 | 1 | R |
4 | 13 | 7 | 31JAN16 | 1 | R |
5 | 14 | 8 | 31JAN16 | 1 | R |
6 | 15 | 5 | 31JAN16 | 1 | R |
7 | 16 | 6 | 31JAN16 | 1 | R |
8 | 17 | 9 | 31JAN16 | 1 | R |
9 | 18 | 10 | 31JAN16 | 1 | R |
10 | 19 | 6 | 31JAN16 | 1 | R |
11 | 20 | 8 | 31JAN16 | 1 | R |
12 | 21 | 5 | 31JAN16 | 1 | R |
13 | 22 | 4 | 31JAN16 | 1 | R |
14 | 23 | 9 | 31JAN16 | 1 | R |
15 | 24 | 11 | 31JAN16 | 1 | R |
16 | 25 | 8 | 31JAN16 | 1 | R |
17 | 26 | 7 | 31JAN16 | 1 | R |
18 | 27 | 6 | 31JAN16 | 1 | R |
19 | 28 | 5 | 31JAN16 | 1 | R |
20 | 29 | 7 | 31JAN16 | 1 | R |
21 | 30 | 6 | 31JAN16 | 1 | R |
22 | 31 | 9 | 31JAN16 | 1 | R |
23 | 32 | 10 | 31JAN16 | 1 | R |
24 | 33 | 9 | 31JAN16 | 1 | R |
25 | 34 | 11 | 31JAN16 | 1 | R |
26 | 35 | 10 | 31JAN16 | 1 | R |
27 | 36 | 8 | 31JAN16 | 1 | R |
28 | 37 | 9 | 31JAN16 | 1 | R |
29 | 38 | 7 | 31JAN16 | 1 | R |
30 | 39 | 6 | 31JAN16 | 1 | R |
Sample plot (drawn using excel) is attached for POS=L data.
So you want two plots.Better post it at ODS Graphic forum . data have; infile cards expandtabs truncover; input MeasNo X Y Date : date9. Ano POS $; format date date9.; cards; 1 10 2 01JAN16 1 L 2 11 4 01JAN16 1 L 3 12 3 01JAN16 1 L 4 13 5 01JAN16 1 L 5 14 6 01JAN16 1 L 6 15 3 01JAN16 1 L 7 16 4 01JAN16 1 L 8 17 7 01JAN16 1 L 9 18 8 01JAN16 1 L 10 19 4 01JAN16 1 L 11 20 6 01JAN16 1 L 12 21 3 01JAN16 1 L 13 22 2 01JAN16 1 L 14 23 7 01JAN16 1 L 15 24 9 01JAN16 1 L 16 25 6 01JAN16 1 L 17 26 5 01JAN16 1 L 18 27 4 01JAN16 1 L 19 28 3 01JAN16 1 L 20 29 5 01JAN16 1 L 21 30 4 01JAN16 1 L 22 31 7 01JAN16 1 L 23 32 8 01JAN16 1 L 24 33 7 01JAN16 1 L 25 34 9 01JAN16 1 L 26 35 8 01JAN16 1 L 27 36 6 01JAN16 1 L 28 37 7 01JAN16 1 L 29 38 5 01JAN16 1 L 30 39 4 01JAN16 1 L 1 10 4 01JAN16 1 R 2 11 6 01JAN16 1 R 3 12 5 01JAN16 1 R 4 13 7 01JAN16 1 R 5 14 8 01JAN16 1 R 6 15 5 01JAN16 1 R 7 16 6 01JAN16 1 R 8 17 9 01JAN16 1 R 9 18 10 01JAN16 1 R 10 19 6 01JAN16 1 R 11 20 8 01JAN16 1 R 12 21 5 01JAN16 1 R 13 22 4 01JAN16 1 R 14 23 9 01JAN16 1 R 15 24 11 01JAN16 1 R 16 25 8 01JAN16 1 R 17 26 7 01JAN16 1 R 18 27 6 01JAN16 1 R 19 28 5 01JAN16 1 R 20 29 7 01JAN16 1 R 21 30 6 01JAN16 1 R 22 31 9 01JAN16 1 R 23 32 10 01JAN16 1 R 24 33 9 01JAN16 1 R 25 34 11 01JAN16 1 R 26 35 10 01JAN16 1 R 27 36 8 01JAN16 1 R 28 37 9 01JAN16 1 R 29 38 7 01JAN16 1 R 30 39 6 01JAN16 1 R 1 10 1 31JAN16 1 L 2 11 3 31JAN16 1 L 3 12 2 31JAN16 1 L 4 13 4 31JAN16 1 L 5 14 5 31JAN16 1 L 6 15 2 31JAN16 1 L 7 16 3 31JAN16 1 L 8 17 6 31JAN16 1 L 9 18 7 31JAN16 1 L 10 19 3 31JAN16 1 L 11 20 5 31JAN16 1 L 12 21 2 31JAN16 1 L 13 22 1 31JAN16 1 L 14 23 6 31JAN16 1 L 15 24 8 31JAN16 1 L 16 25 5 31JAN16 1 L 17 26 4 31JAN16 1 L 18 27 3 31JAN16 1 L 19 28 2 31JAN16 1 L 20 29 4 31JAN16 1 L 21 30 3 31JAN16 1 L 22 31 6 31JAN16 1 L 23 32 7 31JAN16 1 L 24 33 6 31JAN16 1 L 25 34 8 31JAN16 1 L 26 35 7 31JAN16 1 L 27 36 5 31JAN16 1 L 28 37 6 31JAN16 1 L 29 38 4 31JAN16 1 L 30 39 3 31JAN16 1 L 1 10 4 31JAN16 1 R 2 11 6 31JAN16 1 R 3 12 5 31JAN16 1 R 4 13 7 31JAN16 1 R 5 14 8 31JAN16 1 R 6 15 5 31JAN16 1 R 7 16 6 31JAN16 1 R 8 17 9 31JAN16 1 R 9 18 10 31JAN16 1 R 10 19 6 31JAN16 1 R 11 20 8 31JAN16 1 R 12 21 5 31JAN16 1 R 13 22 4 31JAN16 1 R 14 23 9 31JAN16 1 R 15 24 11 31JAN16 1 R 16 25 8 31JAN16 1 R 17 26 7 31JAN16 1 R 18 27 6 31JAN16 1 R 19 28 5 31JAN16 1 R 20 29 7 31JAN16 1 R 21 30 6 31JAN16 1 R 22 31 9 31JAN16 1 R 23 32 10 31JAN16 1 R 24 33 9 31JAN16 1 R 25 34 11 31JAN16 1 R 26 35 10 31JAN16 1 R 27 36 8 31JAN16 1 R 28 37 9 31JAN16 1 R 29 38 7 31JAN16 1 R 30 39 6 31JAN16 1 R ; run; proc sgpanel data=have; panelby pos; series x=x y=y/group=date break; run;
change data structure.
data have;
infile cards expandtabs truncover;
input MeasNo X Y Date : date9. Ano POS $;
cards;
1 10 2 01JAN16 1 L
2 11 4 01JAN16 1 L
3 12 3 01JAN16 1 L
4 13 5 01JAN16 1 L
5 14 6 01JAN16 1 L
6 15 3 01JAN16 1 L
7 16 4 01JAN16 1 L
8 17 7 01JAN16 1 L
9 18 8 01JAN16 1 L
10 19 4 01JAN16 1 L
11 20 6 01JAN16 1 L
12 21 3 01JAN16 1 L
13 22 2 01JAN16 1 L
14 23 7 01JAN16 1 L
15 24 9 01JAN16 1 L
16 25 6 01JAN16 1 L
17 26 5 01JAN16 1 L
18 27 4 01JAN16 1 L
19 28 3 01JAN16 1 L
20 29 5 01JAN16 1 L
21 30 4 01JAN16 1 L
22 31 7 01JAN16 1 L
23 32 8 01JAN16 1 L
24 33 7 01JAN16 1 L
25 34 9 01JAN16 1 L
26 35 8 01JAN16 1 L
27 36 6 01JAN16 1 L
28 37 7 01JAN16 1 L
29 38 5 01JAN16 1 L
30 39 4 01JAN16 1 L
1 10 4 01JAN16 1 R
2 11 6 01JAN16 1 R
3 12 5 01JAN16 1 R
4 13 7 01JAN16 1 R
5 14 8 01JAN16 1 R
6 15 5 01JAN16 1 R
7 16 6 01JAN16 1 R
8 17 9 01JAN16 1 R
9 18 10 01JAN16 1 R
10 19 6 01JAN16 1 R
11 20 8 01JAN16 1 R
12 21 5 01JAN16 1 R
13 22 4 01JAN16 1 R
14 23 9 01JAN16 1 R
15 24 11 01JAN16 1 R
16 25 8 01JAN16 1 R
17 26 7 01JAN16 1 R
18 27 6 01JAN16 1 R
19 28 5 01JAN16 1 R
20 29 7 01JAN16 1 R
21 30 6 01JAN16 1 R
22 31 9 01JAN16 1 R
23 32 10 01JAN16 1 R
24 33 9 01JAN16 1 R
25 34 11 01JAN16 1 R
26 35 10 01JAN16 1 R
27 36 8 01JAN16 1 R
28 37 9 01JAN16 1 R
29 38 7 01JAN16 1 R
30 39 6 01JAN16 1 R
1 10 1 31JAN16 1 L
2 11 3 31JAN16 1 L
3 12 2 31JAN16 1 L
4 13 4 31JAN16 1 L
5 14 5 31JAN16 1 L
6 15 2 31JAN16 1 L
7 16 3 31JAN16 1 L
8 17 6 31JAN16 1 L
9 18 7 31JAN16 1 L
10 19 3 31JAN16 1 L
11 20 5 31JAN16 1 L
12 21 2 31JAN16 1 L
13 22 1 31JAN16 1 L
14 23 6 31JAN16 1 L
15 24 8 31JAN16 1 L
16 25 5 31JAN16 1 L
17 26 4 31JAN16 1 L
18 27 3 31JAN16 1 L
19 28 2 31JAN16 1 L
20 29 4 31JAN16 1 L
21 30 3 31JAN16 1 L
22 31 6 31JAN16 1 L
23 32 7 31JAN16 1 L
24 33 6 31JAN16 1 L
25 34 8 31JAN16 1 L
26 35 7 31JAN16 1 L
27 36 5 31JAN16 1 L
28 37 6 31JAN16 1 L
29 38 4 31JAN16 1 L
30 39 3 31JAN16 1 L
1 10 4 31JAN16 1 R
2 11 6 31JAN16 1 R
3 12 5 31JAN16 1 R
4 13 7 31JAN16 1 R
5 14 8 31JAN16 1 R
6 15 5 31JAN16 1 R
7 16 6 31JAN16 1 R
8 17 9 31JAN16 1 R
9 18 10 31JAN16 1 R
10 19 6 31JAN16 1 R
11 20 8 31JAN16 1 R
12 21 5 31JAN16 1 R
13 22 4 31JAN16 1 R
14 23 9 31JAN16 1 R
15 24 11 31JAN16 1 R
16 25 8 31JAN16 1 R
17 26 7 31JAN16 1 R
18 27 6 31JAN16 1 R
19 28 5 31JAN16 1 R
20 29 7 31JAN16 1 R
21 30 6 31JAN16 1 R
22 31 9 31JAN16 1 R
23 32 10 31JAN16 1 R
24 33 9 31JAN16 1 R
25 34 11 31JAN16 1 R
26 35 10 31JAN16 1 R
27 36 8 31JAN16 1 R
28 37 9 31JAN16 1 R
29 38 7 31JAN16 1 R
30 39 6 31JAN16 1 R
;
run;
data want;
merge have(where=(date='01JAN16'd) rename=(x=x1 y=y1))
have(where=(date='31JAN16'd) rename=(x=x2 y=y2));
proc sgplot data=want nocycleattrs;
series x=x1 y=y1/group=pos;
series x=x2 y=y2/group=pos;
run;
wonderful.. easy and working.
I am new to SAS but have started loving it a lot.
Thanks to everyone and community.
Although, it is veyr nice try, I noticed that the output did not meet the below requirements:
1. There should have been two plots - one for POS=L and another for POS=R
2. Also each chart should have only two lines (one for Jan 01st and another for Jan 31st)
😞
Another issue here. I got the following warning message in the results, what could be the reason:
NOTE: Marker and line antialiasing has been disabled because the threshold has been reached. You can set ANTIALIASMAX=2300 in the ODS GRAPHICS statement to restore antialiasing.
WARNING: X=X1 is invalid. The option expects at least one non-missing value in the column.
NOTE: There were 2285 observations read from the data set WORK.OVERLAY_PLOTS.
So you want two plots.Better post it at ODS Graphic forum . data have; infile cards expandtabs truncover; input MeasNo X Y Date : date9. Ano POS $; format date date9.; cards; 1 10 2 01JAN16 1 L 2 11 4 01JAN16 1 L 3 12 3 01JAN16 1 L 4 13 5 01JAN16 1 L 5 14 6 01JAN16 1 L 6 15 3 01JAN16 1 L 7 16 4 01JAN16 1 L 8 17 7 01JAN16 1 L 9 18 8 01JAN16 1 L 10 19 4 01JAN16 1 L 11 20 6 01JAN16 1 L 12 21 3 01JAN16 1 L 13 22 2 01JAN16 1 L 14 23 7 01JAN16 1 L 15 24 9 01JAN16 1 L 16 25 6 01JAN16 1 L 17 26 5 01JAN16 1 L 18 27 4 01JAN16 1 L 19 28 3 01JAN16 1 L 20 29 5 01JAN16 1 L 21 30 4 01JAN16 1 L 22 31 7 01JAN16 1 L 23 32 8 01JAN16 1 L 24 33 7 01JAN16 1 L 25 34 9 01JAN16 1 L 26 35 8 01JAN16 1 L 27 36 6 01JAN16 1 L 28 37 7 01JAN16 1 L 29 38 5 01JAN16 1 L 30 39 4 01JAN16 1 L 1 10 4 01JAN16 1 R 2 11 6 01JAN16 1 R 3 12 5 01JAN16 1 R 4 13 7 01JAN16 1 R 5 14 8 01JAN16 1 R 6 15 5 01JAN16 1 R 7 16 6 01JAN16 1 R 8 17 9 01JAN16 1 R 9 18 10 01JAN16 1 R 10 19 6 01JAN16 1 R 11 20 8 01JAN16 1 R 12 21 5 01JAN16 1 R 13 22 4 01JAN16 1 R 14 23 9 01JAN16 1 R 15 24 11 01JAN16 1 R 16 25 8 01JAN16 1 R 17 26 7 01JAN16 1 R 18 27 6 01JAN16 1 R 19 28 5 01JAN16 1 R 20 29 7 01JAN16 1 R 21 30 6 01JAN16 1 R 22 31 9 01JAN16 1 R 23 32 10 01JAN16 1 R 24 33 9 01JAN16 1 R 25 34 11 01JAN16 1 R 26 35 10 01JAN16 1 R 27 36 8 01JAN16 1 R 28 37 9 01JAN16 1 R 29 38 7 01JAN16 1 R 30 39 6 01JAN16 1 R 1 10 1 31JAN16 1 L 2 11 3 31JAN16 1 L 3 12 2 31JAN16 1 L 4 13 4 31JAN16 1 L 5 14 5 31JAN16 1 L 6 15 2 31JAN16 1 L 7 16 3 31JAN16 1 L 8 17 6 31JAN16 1 L 9 18 7 31JAN16 1 L 10 19 3 31JAN16 1 L 11 20 5 31JAN16 1 L 12 21 2 31JAN16 1 L 13 22 1 31JAN16 1 L 14 23 6 31JAN16 1 L 15 24 8 31JAN16 1 L 16 25 5 31JAN16 1 L 17 26 4 31JAN16 1 L 18 27 3 31JAN16 1 L 19 28 2 31JAN16 1 L 20 29 4 31JAN16 1 L 21 30 3 31JAN16 1 L 22 31 6 31JAN16 1 L 23 32 7 31JAN16 1 L 24 33 6 31JAN16 1 L 25 34 8 31JAN16 1 L 26 35 7 31JAN16 1 L 27 36 5 31JAN16 1 L 28 37 6 31JAN16 1 L 29 38 4 31JAN16 1 L 30 39 3 31JAN16 1 L 1 10 4 31JAN16 1 R 2 11 6 31JAN16 1 R 3 12 5 31JAN16 1 R 4 13 7 31JAN16 1 R 5 14 8 31JAN16 1 R 6 15 5 31JAN16 1 R 7 16 6 31JAN16 1 R 8 17 9 31JAN16 1 R 9 18 10 31JAN16 1 R 10 19 6 31JAN16 1 R 11 20 8 31JAN16 1 R 12 21 5 31JAN16 1 R 13 22 4 31JAN16 1 R 14 23 9 31JAN16 1 R 15 24 11 31JAN16 1 R 16 25 8 31JAN16 1 R 17 26 7 31JAN16 1 R 18 27 6 31JAN16 1 R 19 28 5 31JAN16 1 R 20 29 7 31JAN16 1 R 21 30 6 31JAN16 1 R 22 31 9 31JAN16 1 R 23 32 10 31JAN16 1 R 24 33 9 31JAN16 1 R 25 34 11 31JAN16 1 R 26 35 10 31JAN16 1 R 27 36 8 31JAN16 1 R 28 37 9 31JAN16 1 R 29 38 7 31JAN16 1 R 30 39 6 31JAN16 1 R ; run; proc sgpanel data=have; panelby pos; series x=x y=y/group=date break; run;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.