SAS:gchart作图(条形图)
/*
customerlevel:客户等级 数值型变量 1-9
working_status:是否工薪 字符型变量,是否
feerate:费率 数值型变量:
scorecard_type:评分卡类型,数值型变量1,2,3
*/
ods rtf file='D:\feerate_chart.doc';
OPTIONS NOCENTER LS=MAX PS=MAX;
LIBNAME S 'D:\';
DATA S.feerate_noerror_1(KEEP=customerlevel working_status scorecard_type FeeRate);
SET S.feerate_noerror;
RUN;
/*
SAS proc gchart 可以制作柱状图和饼图(二维和三维)
可以做九种图,分别是:hbar(水平条图)、hbar3d(3d水平条图)、vbar(垂直条图)、vbar3d(3d垂直条图)、pie(饼图)、pie3d(3d饼图)、dount(环形图)、star(星形图)、block(方块图)。
基本语法:
PROC GCHART DATA=数据集;
图形名 分类变量</选项>;
RUN;
分类变量是字符型时,变量每个值是一个类别;
分类变量是数值型时,系统认为该变量是连续变化的,自动将分类变量的变化范围划分为若干个等长区间,取区间中点为每个类的标签;但是可以通过选项设置;
当程序不指明分析变量,作图缺省使用的统计量是频数(Freq);若指明分析变量,缺省使用的统计量是总和(Sum),
使用title和footnote为图形加入标题和脚注。
*/
GOPTIONS RESET=ALL;
PROC GCHART DATA=S.feerate_noerror_1;
VBAR customerlevel;
TITLE c=red '客户类型条形图1';
RUN;
/*与分类有关的选项
customerlevel是数值型变量
LEVELS=N;对数值型变量设定其分为n个类
MIDPOINTS=值列;对字符型变量依次列举每个类的变量值(如:'aa' 'bb' 'cc');对数值分类变量列举分类变量每个区间的中点(如:100 to 2000 by 100)。
DISCRETE;对数值型分类变量让变量的每个值表示一个类(离散的数值型变量)
ASCENDING;按统计值的升序排序各个柱(饼的各个角)
DESCENDING;按统计值的降序排序各个柱(饼的各个角)
*/
GOPTIONS RESET=ALL;
PROC GCHART DATA=S.feerate_noerror_1;
VBAR customerlevel/DISCRETE TYPE=PERCENT;
TITLE c=red '客户类型条形图2';
RUN;
/*选择分析变量和统计量
未指明分析变量时,取每个类的频数为统计量
</选项>:
SUMVAR=变量名;设定分析变量
TYPE=FREQ|CFREQ|PERCENT|CPERCENT|MEAN|SUM;分别设定统计量为频数、累计频数、百分数、累计百分数、均值和或总和。若未设定分析变量,统计量缺省为FREQ;若设定分析变量,统计量缺省为SUM;使用MEAN和SUM必须设定分析变量,其他统计量可不设置分析变量
*/
/*显示统计量的数值
可以显示的统计量的值就是TYPE=允许的6个统计量
选项有:
NOSTATS;对水平柱状图不显示统计量的值
OUTSIDE=统计量;在柱的外部显示统计量的值
INSIDE=统计量;在(三维)垂直柱状图的内部显示统计量的值
这里的统计量可以与“TYPE=统计量”的设定不同,但使用同一个分析变量。
*/
GOPTIONS RESET=ALL;
PROC GCHART DATA=S.feerate_noerror_1;
VBAR customerlevel/DISCRETE TYPE=PERCENT WIDTH=6 OUTSIDE=PERCENT;
TITLE c=red '客户类型条形图3';
RUN;
/*柱状图的修饰
1.加框及背景
2.坐标轴的修饰语参考线的加入
3.柱的颜色和花纹的设定
4.图例的加入与修饰*/
/*坐标轴的修饰选项
NOAXIS:不显示坐标轴及相关的内容
CAXIS=颜色;设定坐标轴的颜色
CTEXT=颜色;设定坐标轴用的字符的颜色
MNIOR=N;表示坐标轴主刻度之间加入n个次刻度
AUTOREF;自动加入与表示统计数值的坐标轴相交的参考线
NOFRAME:无边框
CFRAME=颜色;设定框内背景颜色
与柱宽有关的选项
WIDTH=N;设定柱宽为n个CELL
SPACE=N;设定柱间空n个CELL
*/
GOPTIONS RESET=ALL;
PROC GCHART DATA=S.feerate_noerror_1;
VBAR customerlevel/DISCRETE TYPE=PERCENT OUTSIDE=PERCENT WIDTH=6 SPACE=1 AUTOREF;
TITLE c=red '客户类型条形图4';
RUN;
/*加入其它的分类变量
GROUP=变量名;制定分组变量,形成多个并列的柱状图
SUBGROUP=变量名;设定子组
PATTERNID=MIDPOINT|GROUP|SUBGROUP;设定按照哪个变量的不同值使用不同的PATTERN语句,缺省为SUBFROUP*/
GOPTIONS RESET=ALL;
PROC GCHART DATA=S.feerate_noerror_1;
VBAR customerlevel/DISCRETE TYPE=PERCENT OUTSIDE=PERCENT AUTOREF WIDTH=6 GROUP=scorecard_type PATTERNID=GROUP;
TITLE c=red '客户类型条形图5';
RUN;
GOPTIONS RESET=ALL;
PROC GCHART DATA=S.feerate_noerror_1;
HBAR customerlevel/DISCRETE TYPE=PERCENT OUTSIDE=PERCENT AUTOREF WIDTH=6 SUBGROUP=scorecard_type PATTERNID=SUBGROUP;
TITLE c=red '客户类型条形图6';
RUN;
/*图例
LEGEND=LEGEND;描述图例*/
GOPTIONS RESET=ALL;
PROC GCHART DATA=S.feerate_noerror_1;
HBAR customerlevel/DISCRETE TYPE=PERCENT OUTSIDE=PERCENT AUTOREF WIDTH=6 SUBGROUP=scorecard_type PATTERNID=SUBGROUP LEGEND=LEGEND1;
LEGEND1 POSITION=(TOP CENTER OUTSIDE) DOWN=2 FRAME;
TITLE c=red '客户类型条形图7';
RUN;
/*GOPTIONS 选项
RESET=ALL;将所有图形的选项设置为默认状态,并且删除所有全局的语句,比如AXIS,PATTERN,SYMBOL
RESET=GLOBAL;将所有的全局设置恢复为默认状态,其他设置不变
ROTATE;将图形从其默认的方向旋转为90度
CBACK=colour;指定图形背景颜色,默认的是白色
FTEXT=font;选择字体样式,常用的有FTEXT=SWISS;
FTITLE=font;选择抬头字体,默认是SWISS;
HTEXT=text-height;设定文本的高度
HTITLE=title-height;设定抬头的高度
HSIZE=horizontal-size<IN or CM or PT>指定图形宽度
VSIZE=vertical-size<IN or CM or PT>指定图形高度(默认单位IN.IN是inch英寸,pt是point点,1in=2.54cm=72pt )
*/
ods rtf close;