## How to plot lines overlapping each other (i.e. one line on top of other)

Solved
Frequent Contributor
Posts: 87

# How to plot lines overlapping each other (i.e. one line on top of other)

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.

Accepted Solutions
Solution
‎11-08-2016 04:19 AM
Super User
Posts: 10,846

## Re: How to plot lines overlapping each other (i.e. one line on top of other)

```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;

```

All Replies
Super User
Posts: 10,846

## Re: How to plot lines overlapping each other (i.e. one line on top of other)

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;``````
Frequent Contributor
Posts: 87

## Re: How to plot lines overlapping each other (i.e. one line on top of other)

wonderful.. easy and working.

I am new to SAS but have started loving it a lot.

Thanks to everyone and community.

Frequent Contributor
Posts: 87

## Re: How to plot lines overlapping each other (i.e. one line on top of other)

[ Edited ]

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.

Solution
‎11-08-2016 04:19 AM
Super User
Posts: 10,846

## Re: How to plot lines overlapping each other (i.e. one line on top of other)

```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;

```
☑ This topic is solved.