日本一意孤行?国际原子能机构认为福岛处理水排海计划符合国际安全标准

普里戈津之死!我的三点评论!

从人类历史,看人类未来

目录一览!马工程重点教材《习近平新时代中国特色社会主义思想概论》

从福岛核废水说起:我们是在谈科学还是讲立场

生成图片,分享到微信朋友圈

自由微信安卓APP发布,立即下载! | 提交文章网址
查看原文

SAS 拼图,一招取胜!

谷子歌 统计札记 2023-02-24


SAS绘图,虽饱受诟病,但此前我写过多篇文章,呼吁大家用ODS Graphics模块高效的绘制美轮美奂的统计图形。


具体可见:SCI统计图形教程合集
ODS Graphics的PROC SGPLOT过程使得各种统计图形绘制语法与形式上得到了极大的统一。 不过在实际的使用过程中,我们经常会碰到要绘制面板图,或者更切确的说,是多张统计图形的组合图。



期刊中的各种组合图:横向,纵向,以及纵横交错。
横向↑

纵向↑


纵横交错↑


若图形相似,只是分组变量的不同,我们可以借助PROC SGPANNEL;但若图形差别大,是不同图形的拼凑,如何实现呢?好久没写SAS技巧了,今天给大家分享一个妙招:  ODS layout gridded +ODS region 。

总体思路:

  1. 将绘图区域想象可以用表格分割的区域,用ODS layout  gridded指定行数(rows=)或列数(columns=),规划表格即可。

  2. 用ODS region 开启一个单元格

  3. 用ODS Graphics 绘图填充单元格

  4. 重复2,3步,直到完成。


为方便理解,以最简单的2个图组合为例。

1. 横向2图

ods layout  gridded columns=2 ;

ods region;

proc sgplot data=sashelp.heart;

   scatter x=height y=weight;

run;


odsr egion;

proc sgplot data=sashelp.heart;

   scatter x=diastolic y=systolic;

run;

ods layout end;


效果图↑


2. 纵向2图 

ods layout  gridded rows=2 ;

ods region;

proc sgplot data=sashelp.heart;

   scatter x=height y=weight;

run;


ods region;

proc sgplot data=sashelp.heart;

   scatter x=diastolic y=systolic;

run;

ods layout end;


效果图↑

3. 2*2图

 

ods layout  gridded columns=2 ;

ods region;

proc sgplot data=sashelp.heart;

   scatter x=height y=weight;

run;


ods region;

proc sgplot data=sashelp.heart;

   scatter x=diastolic y=systolic;

run;


 ods region;

proc sgplot data=sashelp.heart;

   histogram  diastolic ;

run;


odsregion;

proc sgplot data=sashelp.heart;

   histogram  systolic ;

run; 

ods layout end;


效果图↑

如果喜欢我的分享,想了解更多技巧,

趁双11
当当5折+满200再减30
京东满200-100

  • 厚颜推荐入手本人的SAS专著:

《SAS编程演义》,偏实际应用和技巧提高 

  • 以及本人参与组织翻译的:

《The Little SAS Book 中文版》,偏概念和基础


想换工作,跟我学SAS的,

点击原文链接。

文章有问题?点此查看未经处理的缓存