BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
nash_sas
Fluorite | Level 6

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 ;

1 ACCEPTED SOLUTION

Accepted Solutions
ballardw
Super User

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

9 REPLIES 9
PGStats
Opal | Level 21

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
nash_sas
Fluorite | Level 6

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

ballardw
Super User

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.

PGStats
Opal | Level 21

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
Jay54
Meteorite | Level 14

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.

nash_sas
Fluorite | Level 6

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
Jay54
Meteorite | Level 14

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

nash_sas
Fluorite | Level 6

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
Jay54
Meteorite | Level 14

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

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

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