全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
65888 137
2013-01-19
坚持每天写1、2页,慢慢积累。虽然,某一天当我熟练掌握SAS,或许就是我不再需要使用SAS的时候。。。
图表元素       简单例子
复制代码

标题注脚
复制代码




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

从图形可以看到,设置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;










附件列表
图表选项.jpg

原图尺寸 283.19 KB

图表尺寸

图表尺寸

page6.jpg

原图尺寸 277.51 KB

page6.jpg

布局选项.jpg

原图尺寸 270.33 KB

布局选项.jpg

二维码

扫码加我 拉你入群

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

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

全部回复
2013-1-19 18:24:27
顶一下
二维码

扫码加我 拉你入群

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

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

2013-1-19 18:35:29
楼主牛人
二维码

扫码加我 拉你入群

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

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

2013-1-20 11:09:46
非常好的东西!
二维码

扫码加我 拉你入群

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

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

2013-1-20 18:03:29
弱弱问这样的数据可以用EXCEL做么,考虑到作图效率和学习成本的话,没有冒犯的意思哦!
二维码

扫码加我 拉你入群

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

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

2013-1-21 11:56:27

顶一下
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群