楼主: caibirdcnb
56042 136

[学习分享] SAS9.3模板制图学习笔记 (graph template language)   [推广有奖]

  • 0关注
  • 36粉丝

讲师

47%

还不是VIP/贵宾

-

威望
0
论坛币
1367 个
通用积分
16.5538
学术水平
67 点
热心指数
70 点
信用等级
64 点
经验
6762 点
帖子
206
精华
2
在线时间
433 小时
注册时间
2011-8-31
最后登录
2023-9-23

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
坚持每天写1、2页,慢慢积累。虽然,某一天当我熟练掌握SAS,或许就是我不再需要使用SAS的时候。。。
图表元素       简单例子
  1. proc template;                        
  2.         define statgraph scatterplot;               
  3.         begingraph;                 
  4.         entrytitle "Weight and Age by Sex";                 
  5.         layout overlay;               
  6.                 scatterplot x=age y=weight /         
  7.                         group=sex name="abc";
  8.                         discretelegend "abc";
  9.         endlayout;               
  10.         endgraph;               
  11.         end;               
  12. run;                        
  13.                         
  14. ods html;                        
  15. proc sgrender data=sashelp.class template=scatterplot;                        
  16. run;
复制代码

标题注脚
  1. proc template;                        
  2.         define statgraph scatterplot;               
  3.         begingraph;
  4.         entrytitle "Weight and Age by Sex";
  5.         entrytitle halign=left "Weight and Age by Sex"
  6.                                 / border=true
  7.                                 opaque=true
  8.                                 backgroundcolor=lightgreen
  9.                                 textattrs=(color=blue
  10.                                                         family='Arial'
  11.                                                         size=14
  12.                                                         style=italic
  13.                                                         weight=bold);
  14.     entryfootnote halign=center 'SMOON Confidential'
  15.                               halign=right "MIB";
  16.         
  17.         layout overlay;               
  18.                 scatterplot x=age y=weight /         
  19.                         group=sex name="abc";
  20.                         discretelegend "abc";
  21.         endlayout;               
  22.         endgraph;               
  23.         end;               
  24. run;                        
  25.                         
  26. ods html;                        
  27. proc sgrender data=sashelp.class template=scatterplot;                        
  28. run;
复制代码




————————————————————————————————————————————————————————————
图表选项

从图形可以看到,设置backgroundcolor=lightblue后,背景颜色变成淡蓝色了;设置border=true和borderattrs=(color=pink thickness=3)后,边框变成粉红色并且加粗了;设置designwidth=400px和designheight=400px后,图表大小改变并且变成正方形了;设置pad=(bottom=50 right=50)后,下边和右边空白区域变大了。  
proc template;                        
        define statgraph scatterplot;               
        begingraph / backgroundcolor=lightblue
                            border=true
                            borderattrs=(color=pink thickness=3)
                            designwidth=400px
                            designheight=400px
                            pad=(bottom=50 right=50);                 
        entrytitle "Weight and Age by Sex";                 
        layout overlay;               
                scatterplot x=age y=weight /         
                        group=sex name="weight";
                        discretelegend "weight";
        endlayout;               
        endgraph;               
        end;               
run;
ods html;                        
proc sgrender data=sashelp.class template=scatterplot;                        
run;

————————————————————————————————————————————————————————————
布局选项.jpg

对比上下2个图形,可以看到设置aspecratio=0.7后,绘图区域形状变了;设置cycleattrs=true后,图形颜色从2种颜色变成4种颜色。
proc template;
define statgraph seriesplot;
        begingraph / designwidth=360px designheight=260px;
        entrytitle "Tech Stock Trends";
        layout overlay / yaxisopts=(label='price')
                                aspectratio=0.7
                                cycleattrs=true;
                seriesplot x=date y=close / group=stock name="stocks"
                        lineattrs=(thickness=3);
                seriesplot x=date y=high / group=stock
                        lineattrs=(thickness=3);
                discretelegend "stocks";
        endlayout;        
        endgraph;
        end;
run;
proc sgrender data=sashelp.stocks template=seriesplot;
  where date > "31dec1999"d and stock^='IBM';
run;

————————————————————————————————————————————————————————————
布局选项2.jpg

对比上下2个图形,可以看到设置opaque=true和backgroundcolor=lightyellow后,布局背景颜色变成淡黄色;设置border=true和borderattrs=(color=blue pattern=dash thickness=2)后,布局区域显示边框,并且边框属性为蓝色、破折线、加粗;设置pad=(top=50)后,布局上方和图表距离变大了;设置wallcolor=lightgray和walldisplay=(fill)后,绘图区域背景颜色变成淡灰色。
proc template;
define statgraph seriesplot;
        begingraph / designwidth=360px designheight=260px;
        entrytitle "Tech Stock Trends";
        layout overlay / yaxisopts=(label='price')
                                aspectratio=auto
                                backgroundcolor=lightyellow
                                border=true
                                borderattrs=(color=blue pattern=dash thickness=2)  
                                cycleattrs=true
                                opaque=true
                                pad=(top=50)
                                wallcolor=lightgray
                                walldisplay=(fill);         
                seriesplot x=date y=close / group=stock name="stocks"
                        lineattrs=(thickness=3);
                seriesplot x=date y=high / group=stock
                        lineattrs=(thickness=3);
                discretelegend "stocks";
        endlayout;        
        endgraph;
        end;
run;
proc sgrender data=sashelp.stocks template=seriesplot;
  where date > "31dec1999"d and stock^='IBM';
run;

————————————————————————————————————————————————————————————
坐标轴元素.jpg
坐标轴通用设置.jpg

从图形对比左右Y轴,可以看到设置display=(label tickvalues) 后,轴线和标记不显示了;设置griddisplay=on 后,显示刻度线;设置label="population (%)"和labelattrs=(color=blue weight=bold) 后,标签属性变成蓝色加粗;设置xaxisopts=(display=none) 后,X轴不显示了。
proc template;
        define statgraph y2axis;
        begingraph / designwidth=360px designheight=360px;
        layout overlay / walldisplay=none
                                yaxisopts=(display=(label tickvalues)
                                                    griddisplay=on
                                                    label="population (%)"
                                                    labelattrs=(color=blue weight=bold)
                                                    name="Y")
                                xaxisopts=(display=none);
                histogram height / scale=count yaxis=y2 name="height";
                histogram height / scale=proportion yaxis=y;
                densityplot height / normal();
                discretelegend "height";
        endlayout;
        endgraph;
        end;
run;
proc sgrender data=sashelp.class template=y2axis;
run;










二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Template Language plate GRAPH lang 学习 制图

图表选项.jpg (283.19 KB)

图表尺寸

图表尺寸

page6.jpg (277.51 KB)

page6.jpg

布局选项.jpg (270.33 KB)

布局选项.jpg

已有 25 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
cym199701 + 5 + 1 + 1 + 1 奖励积极上传好的资料
kongqingbao280 + 40 精彩帖子
959712305 + 5 + 2 + 2 + 2 精彩帖子
dxystata + 100 精彩帖子
np84 + 100 精彩帖子
zl89 + 80 精彩帖子
xujingtang + 100 + 1 精彩帖子
kychan + 60 继续坚持
eijuhz + 20 精彩帖子
dxmin + 1 精彩帖子

总评分: 经验 + 660  论坛币 + 20  学术水平 + 28  热心指数 + 31  信用等级 + 26   查看全部评分

本帖被以下文库推荐

沙发
天堂之路 发表于 2013-1-19 18:24:27 |只看作者 |坛友微信交流群
顶一下

使用道具

藤椅
cylqd 发表于 2013-1-19 18:35:29 |只看作者 |坛友微信交流群
楼主牛人

使用道具

板凳
ziyenano 发表于 2013-1-20 11:09:46 |只看作者 |坛友微信交流群
非常好的东西!

使用道具

报纸
lookslike 发表于 2013-1-20 18:03:29 |只看作者 |坛友微信交流群
弱弱问这样的数据可以用EXCEL做么,考虑到作图效率和学习成本的话,没有冒犯的意思哦!

使用道具

地板
goldbaodi 发表于 2013-1-21 11:56:27 |只看作者 |坛友微信交流群

顶一下

使用道具

7
xueyinchina 发表于 2013-1-24 18:55:52 |只看作者 |坛友微信交流群
顶~~~~
心有多大,舞台就有多大。

使用道具

8
威尼熊泡泡 发表于 2013-1-24 21:31:25 |只看作者 |坛友微信交流群

使用道具

9
cwq_cwq 发表于 2013-1-28 09:32:30 |只看作者 |坛友微信交流群
新手报到,谢谢分享!

使用道具

10
beci426 发表于 2013-1-29 15:17:25 |只看作者 |坛友微信交流群
太棒了!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-20 12:52