Graphics Programming

Data visualization using SAS programming, including ODS Graphics and SAS/GRAPH. Charts, plots, maps, and more!
BookmarkSubscribeRSS Feed
AmitKB
Fluorite | Level 6
Hi all,
I want to create a normal probability plot or qq plot using SG procedures.

I know I can do it using proc univariate, but is it possible using SG procedures.

Thank for all your help.

Regards,

Amit
5 REPLIES 5
DanH_sas
SAS Super FREQ
Hey Amit,

ODS GRAPHICS is also supported in PROC UNIVARIATE. Is there a particular reason that you need to use the SGPLOT?

Thanks!
AmitKB
Fluorite | Level 6
Hi Dan,
I am trying to develop a report for presentation. The Histogram in SGplot looks more clean than in proc univariate.
Thats the reason I wanted to see if I replecate my q-q plot using proc sgplot.
DanH_sas
SAS Super FREQ
Right now, we do not have a qqplot statement in SGPLOT. However, if you turn on ODS GRAPHICS for UNIVARIATE, you should get a comparable histogram to the one from SGPLOT. Give it a try and see what you think.

Thanks!
Dan

ods graphics on;
proc univariate data=sashelp.class;
histogram weight;
run;
ods graphics off;

proc sgplot data=sashelp.class;
histogram weight;
run;
BarryDeCicco
Obsidian | Level 7

I just ran the two histograms.  The ODS graphics statement look a little better (better shading), but they were very similar.

Rick_SAS
SAS Super FREQ

Yes, you can do it. You need to compute the quantiles first. If you want a normal Q-Q plot, use PROC RANK:

 

/* get sample mean and stddev */
proc means data=sashelp.class mean std;
var weight;
run;

proc rank data=sashelp.class normal=blom out=QQ;
   var weight;
   ranks Quantile;
run;
 
proc sgplot data=QQ noautolegend;
   scatter x=Quantile y=weight;
   lineparm x=0 y=100 slope=22.77; /* y-int=mean slope=stddev */
   xaxis label="Normal Quantiles";
run;

 

For more discussion, see

http://blogs.sas.com/content/iml/2016/11/23/sampling-variation-small-samples.html

and for the general case of Q-Q plots for arbitrary distributions, see

http://blogs.sas.com/content/iml/2011/10/28/modeling-the-distribution-of-data-create-a-qq-plot.html

 

sas-innovate-white.png

Our biggest data and AI event of the year.

Don’t miss the livestream kicking off May 7. It’s free. It’s easy. And it’s the best seat in the house.

Join us virtually with our complimentary SAS Innovate Digital Pass. Watch live or on-demand in multiple languages, with translations available to help you get the most out of every session.

 

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 5 replies
  • 3678 views
  • 2 likes
  • 4 in conversation