Data visualization with SAS programming

Scatter plot matrix with 3 variables

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 16
Accepted Solution

Scatter plot matrix with 3 variables

Time

7009001100

Time1

101121
Time2201222
Time3301323
Time4401424

I am trying to do a scatter plot with 'Time on x-axis' and 700, 900, 1100 values (above table has them as variable names) on y axis and corresponding values 10,20,30,40,11,12,13,14,........as poin for that particular Time and y-axis value.

In other terms, I am trying to see a point corresponding to all 3 variables. For below example, there would be only two points : one with age-14 height- 69 weight - 112.5; other point for age -13 height - 56.5 weight -84. I am not  looking for a 3 dimensional but there can be a vertical right axis.

AgeHeightWeight
1469112.5
1356.5

84

I tried below code and it's plotting two plot separately one with height*age; other with weight*age. Can it be possible to have plot with height*weight*age ? Thanks

PROC GPLOT DATA = sashelp.class;

PLOT Height * Age / GRID

  VAXIS=AXIS1

  HAXIS=AXIS2

     FRAME SKIPMISS LEGEND=LEGEND1 ;

PLOT2 Weight * Age  = 2 / VAXIS=AXIS3

  SKIPMISS OVERLAY   LEGEND=LEGEND1 ;


Accepted Solutions
Solution
‎02-20-2014 05:25 PM
Grand Advisor
Posts: 10,196

Re: Scatter plot matrix with 3 variables

This looks like you may be looking for Proc SGPLOT as PGStats suggests but add an X2axis for the time part as well as an X axis for the frequency.

View solution in original post


All Replies
Respected Advisor
Posts: 4,606

Re: Scatter plot matrix with 3 variables

Do you want something like this?

data have;

input Time $ t700 t900 t1100;

datalines;

Time1 10 11 21

Time2 20 12 22

Time3 30 13 23

Time4 40 14 24

;

proc sgplot data=have;

scatter x=time y=t700;

scatter x=time y=t900;

scatter x=time y=t1100;

yaxis label="Whatever";

run;

PG

PG
Occasional Contributor
Posts: 16

Re: Scatter plot matrix with 3 variables

I would need to plot 700, 900, 1100 on the y-axis (or any other axis with a scale); I am looking for something like a spectral plot / Matrix plot. As we see the below example plot, frequency on x- axis, m2/hz on y-axis. period on other axis (not sure if we can call that as z- axis). Thanks

http://www.srh.noaa.gov/images/mlb/marine/spectral_wave_plot.jpg

Solution
‎02-20-2014 05:25 PM
Grand Advisor
Posts: 10,196

Re: Scatter plot matrix with 3 variables

This looks like you may be looking for Proc SGPLOT as PGStats suggests but add an X2axis for the time part as well as an X axis for the frequency.

Respected Advisor
Posts: 4,606

Re: Scatter plot matrix with 3 variables

I can't imagine how to create two X or Y axes related to the same curve, such as on your Specral Density example. Especially if one scale is linear and the other isn't. - PG

PG
SAS Super FREQ
Posts: 1,078

Re: Scatter plot matrix with 3 variables

I am taking a stab here and may be totally off the mark here...

I suppose you may (Fourier) transform a time domain signal to the frequency domain.  However, I don't know if the shape of the response stays the same.  However, you could plot the original (signal by time) on (y, x) axis, and then also plot (TransSignal by freq) on (y, x2).  Axis type can be linear or log (2, 10 or e).  Now, you could make the 2nd plot invisible by making the line thickness zero or transparency=1.  This will certainly give you "some kind of" plot.  You may need to set axis options for offsets, thresholds etc to ensure the axes are synchronized.

Occasional Contributor
Posts: 16

Re: Scatter plot matrix with 3 variables

Sanjay,

I am trying to imagine what you suggested here but not sure how to code this. As I've got about 1000 signal points for one timeperiod (signal vs time) and 3000 signal points for one frequency (signal vs frequency). Would you be able to explain this with some code. Thanks

Timeperiod100101102103104105
1/2/2010 11:00102030405060
1/2/2010 13:30203040506070
1/2/2010 16:00406060606060
1/2/2010 18:30605050404030
SAS Super FREQ
Posts: 1,078

Re: Scatter plot matrix with 3 variables

Can you attach sample data set (reduced) so I can try it out?  Tell me which variables to plot.

Occasional Contributor
Posts: 16

Re: Scatter plot matrix with 3 variables

Sanjay,

Would this help for you to try ? Frequency variables here are 100 to 105 and 10,20,40,.....70,60,30.are signals at various time periods and frequencies.

Timeperiod100101102103104105
1/2/2010 11:00102030405060
1/2/2010 13:30203040506070
1/2/2010 16:00406060606060
1/2/2010 18:30405050404030
SAS Super FREQ
Posts: 1,078

Re: Scatter plot matrix with 3 variables

This is not clear to me.  Can you attach a SAS data set with four columns.  Time, Signal1, Freq, Signal2?

☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 9 replies
  • 693 views
  • 3 likes
  • 4 in conversation