数学建模社区-数学中国
标题:
用SAS实现商业周刊经典风格 对绘图背景进行隔行填色
[打印本页]
作者:
厚积薄发
时间:
2011-6-7 20:16
标题:
用SAS实现商业周刊经典风格 对绘图背景进行隔行填色
2011-6-7 20:15 上传
下载附件
(7.88 KB)
data ex;
- A& D6 S; w! [% j1 r3 A
input x y g color $;
9 r: ^, t; N. U: r6 K
cards;
! y0 h$ w1 q' g8 q( F$ I4 T/ z
1 2 1 Yahoo!
/ M6 w+ G Q9 x, [
1 4 2 Google
$ q f1 l+ Y& r. q3 M" T( j6 s
2 5 1 Yahoo!
$ E+ j9 W1 N7 p" y' G. @
2 8 2 Google
" O) U) w5 R: t; b& s2 @9 Y
4 12 1 Yahoo!
& o5 f" J" Y& @+ q
4 10 2 Google
' ]+ T. |" V* [7 z2 ^3 A1 r, ?
5 9 1 Yahoo!
3 @5 n1 H& w& Q) r! U+ B+ h
5 7 2 Google
0 m+ w( a& K. W" q2 y+ {7 M6 ~
;
. v: H- {. c+ Q- C7 n
data title_anno;
3 p( F. E3 D4 h# F* {- Z
when=’b'; xsys=’3′; ysys=’3′; style=’solid’;
+ O7 ]" P* ]7 i# F! z* h
function=’move’; x=0; y=87; output;
: I+ x6 S c! ^' Y7 s% `/ |" P, p
function=’bar’; x=100; y=100; color=’black’; output;
9 U! W6 w0 ~8 H" l/ M4 f1 D
run;
W6 x3 J, Z, c4 U, R+ A, }* \6 [
data range_anno;
8 S6 S8 z( f, p9 S7 k7 D5 f
when=’b'; xsys=’1′; ysys=’1′; style=’solid’;
" ~' G2 o! [) ~ n: ^' n: A
function=’move’; x=0; y=0; output;
3 g* B* h6 T9 t: y1 K5 e" B
function=’bar’; x=100; y=20; color=”cxFFFBDD”;output;
/ N* T. H8 L$ y# k; [$ ~( C
function=’move’; x=0; y=20; output;
2 @" r, r1 ], `8 N
function=’bar’; color=”cxEEE3B4″; x=100; y=40; output;
( M, ~; f* W C- z. p g) X) B
function=’move’;x=0; y=40; output;
' H Z7 f9 B( j, ^+ ~
function=’bar’; color=”cxFFFBDD”; x=100; y=60; output;
: M7 u5 W6 D( X" d! C4 g g
function=’move’;x=0; y=60; output;
" m; e; Q0 r) s ?! t5 w6 ^
function=’bar’; color=”cxEEE3B4″; x=100; y=80; output;
6 n! D# Y( |$ {% w6 X o. X! I
function=’move’;x=0; y=80; output;
# ^2 ^' G6 s+ D, a* l
function=’bar’; color=”cxFFFBDD”; x=100; y=100; output;
6 {( q+ l1 ], z+ v8 y( k+ O8 }! `2 w) F
run;
6 F. Q" P1 k' W. Q
data range_anno1;
" w* Y1 I( n$ {/ c A5 ^; n
when=’b'; xsys=’1′; ysys=’1′;
4 k( k0 Q' o% p% R, e. J2 z* ?
function=’move’; x=0; y=20; output;
6 j* x3 R5 e! p
function=’bar’; x=100; y=20; color=”cxD6CECD”;output;
$ s9 N$ ~- V! y/ l
function=’move’; x=0; y=40; output;
$ [" D8 l" x' |- i: K4 Y6 T. ^
function=’bar’; color=”cxD6CECD”; x=100; y=40; output;
. v4 Q- |4 z) U; A0 m6 i/ w3 i
function=’move’;x=0; y=60; output;
2 m; T- x* A4 c& Y, N) Z$ J, v
function=’bar’; color=”cxD6CECD”; x=100; y=60; output;
1 q6 x. y5 A$ y6 W4 I
function=’move’;x=0; y=80; output;
# n7 A* w+ P% A
function=’bar’; color=”cxD6CECD”; x=100; y=80; output;
; v2 s- H1 L; z! x+ d' d
run;
, c7 u( k& y$ U. m
data range_anno;
1 V( l# S( A8 a
set range_anno range_anno1;
/ y8 v: c) P' }/ p+ m2 A3 U6 s h3 q5 n
run;
( {5 M3 g+ A* Y8 C& j7 [
FILENAME file “c:\bussiness.png”;
- a6 l9 `8 p2 B8 k
GOPTIONS reset=all noborder Cback=”cxEEE3B4″ device=png gsfname=file
: p# R4 U, F( Z+ O# X. u8 z& Y
vsize=7cm hsize=7cm
+ }" d! v) q- o3 k) `; f8 f
ymax=8cm xmax=9cm
8 F( \4 ^" p# @+ A4 h
htext=1.5 ;
?% Y( q3 y$ g( v
axis1 major=none width=2 label=none REFLABEL=none value=(h=1 color=black “Q1″ “Q2″ “Q3″ “Q4″ ) offset=(4,4);
4 ~ @0 j, y. R; V* {( N& X/ _/ k
axis2 color=black width=2 label=none order=(0 to 13 by 4) minor=none major=(h=1) value=(h=1.0) offset=(0,2);
! J% Q4 ]$ L3 Q" ]( n) r
axis3 major=none label=none value=none;
- I& |+ R" @( \* ^$ r. @+ j
pattern1 v=s color=’cxFF8E00′;
, h, W$ ]% s7 c) p6 R
pattern2 v=s color=’cx004C7A’;
7 B/ `4 {6 O" O
title j=l BCOLOR=black COLOR=white h=3.5 font=CENTB ” Bussniess weekly style”;
% Z& m' G: o7 Z0 Q7 a
title2 j=l ” Internation compsdfdsfsfd”;
^+ V. h8 b: Q, p5 ~
title3 j=l ” asdfd asdfdf dfsdfsd”;
d) m! z1 S' ~' b& I4 H; }
legend1 label=none value=(HEIGHT=1.2 ‘Yahoo!’ ‘Google’ ) POSITION=(inside middle ) OFFSET=(-11,2.5)
6 P7 f8 E. v* v/ q' W4 w
shape=bar(.1in,.1in);
" m/ E$ v: @# F( ^3 Q) h. P
proc gchart data=ex anno=title_anno;
% D% J' ~3 U, y& C/ q
vbar g / discrete type=sum
- v' e! g8 z0 \
sumvar=y
7 T+ j A* e8 C( v
maxis=axis1 raxis=axis2 GAXIS=axis3
" R( ^6 }2 w0 M
coutline=gray33 caxis=”cxD6D3B8″
( ~) V! H! s* w2 d8 U$ l
width=4
7 T D* m3 c5 f, w r J
space=0
& R$ A' [! K4 n* d9 Q5 }* I
gspace=0
- ?" u4 v0 i. E4 d7 P
subgroup= color
6 J* ]" r+ s6 K; @
group=x
/ l; {/ t/ D3 U8 x8 o
legend=legend1
" W# S {% B& E( V1 f- e2 i0 {
anno=range_anno ;
2 Q2 J* U& v- B! o2 p& g
footnote justify=l h=1 font=swiss “ Data from **group”;
$ P$ n2 I/ U3 \* C3 @
footnote2 justify=l h=1 font=swiss “
http://sxlion.blog.sohu.com
”;
. ~- g( K- }5 W$ A9 k
run;
2 n0 N! ^: t( i) T W2 u
quit;
9 l! Y! h2 I" M2 V) n
下面是excelpro博客介绍的经典商业周刊风格的图表,对比一下相差无几。
$ z" G3 d2 r3 ~0 f" N& v) e
这代码是相当的复杂,调试也比较费功夫。
# A7 M1 L- K) D/ l/ C" I
2011-6-7 20:15 上传
下载附件
(10.18 KB)
+ {) P, }$ `# G" p
本来准备在sgplot的band语句画区域作为背景来实现的,但是由于存在bar图与band不兼容的情况,于是只好转向anno了。见SAS公司详细说明。
4 d% T2 L( d8 X9 ]9 W
There are four basic types of plots that you can create with the SGPLOT procedure:
$ z' }% c. g! S) s5 \3 q
Basic plots
- ~2 Q v, N- t' E' v
scatter, series, step, band, needle, and vector plots
. X$ U; S; P8 a
Fit and confidence plots
8 p* A$ r, ~6 k' x
loess, regression, and penalized B-spline curves, and ellipses
2 J! i( D( P) Z7 e8 [
Distribution plots
3 s9 R |6 d7 S- Z3 _1 g
box plots, histograms, and normal and kernel density estimates
3 t5 e9 H }0 F
Categorization plots
& J, |2 C' X, m5 b! }& _
dot plots, bar charts, and line plots
2 Z, `9 M5 F ]' e6 ~# n! S( g) D) y
Not all of the plot types can be used together in the same PROC SGPLOT step. The following table shows which of the plot types can be used together
! s' ]: R% K& s5 {7 x/ _
, u3 ~, u# Z$ c
: @0 j+ r. X$ F
data ex;
# V; ^! G5 @; [; e1 d
input x y ;
* b( m4 N. i; j- o; A
cards;
! K: _# g2 m2 i8 r5 C# i
1 2
j- {5 |/ P' q( S" ]
2 7
, {+ |" I8 c* o& G" p
4 12
+ T, j4 S/ X+ K
5 11
" r6 ]# F5 D1 c' h
6 9
5 a$ a: f4 s2 P- z* D# x
7 8
+ @8 B- C/ }9 k! u' F9 ^
;
; @* u0 G. Q7 a- r2 I
title ;
/ y( _! T, j# d2 ~9 X
footnote;
. C# i$ K+ D* y( G, B
proc sgplot data=ex noautolegend;
. x) v; X# r) K1 b2 e: p
SERIES x=x y=y/LINEATTRS=(color=blue thickness=6) ;
: f A) k- F, H% ~1 H
band x=x lower=0 upper=2.5 / OUTLINE transparency=.8 LINEATTRS=(color=black) fillattrs=(color=cxEEE3B4) NOOUTLINE;
+ k2 O( }$ \' o- w
band x=x lower=2.5 upper=5 / OUTLINE transparency=.7 LINEATTRS=(color=black) fillattrs=(color=orange) NOOUTLINE;
3 j& F9 p4 m9 n) d) L" M5 T
band x=x lower=5 upper=7.5 /OUTLINE transparency=.8 LINEATTRS=(color=black) fillattrs=(color=cxEEE3B4) NOOUTLINE;
% U: E: O9 E& c" @4 J- B) H
band x=x lower=7.5 upper=10 / OUTLINE transparency=.7 LINEATTRS=(color=black) fillattrs=(color=orange) NOOUTLINE;
- v0 Y; ?" g* @) H7 P: B7 D
band x=x lower=10 upper=12.5 /OUTLINE transparency=.8 LINEATTRS=(color=black) fillattrs=(color=cxEEE3B4) NOOUTLINE;
; a; E2 S9 K2 l. }" l8 m" r4 S
yaxis values=(0 to 12 by 3) min=0 max=13 valueshint;
' v5 z+ M' n o( c
xaxis values=(0 to 8 by 2) min=0 max=8 valueshint;
3 h( X* b# b/ F8 f8 N/ w
run;
7 Q+ T- W' @4 Z. L1 E0 N9 C$ s
来源:数据挖掘学院
作者:
平平凡凡的我
时间:
2011-12-30 14:34
不错的东东
作者:
alair003
时间:
2012-2-6 11:04
看看,肯定能学到不少东西~!~!~@!~!~!~!~
8348932838256931
作者:
schnee
时间:
2012-2-6 16:53
顶!!!!!!!
作者:
jt202010
时间:
2012-2-19 10:45
作者:
老牦
时间:
2012-2-19 23:10
顶!!!!!!!
作者:
飞雪灬无痕
时间:
2012-3-4 19:51
学习了。。。。。。。。
作者:
hahaysw
时间:
2012-3-10 09:53
不错的东西,数学中国做的图相当好看啊!
作者:
540109558
时间:
2012-3-10 12:56
相当的不简单啊
作者:
秋の名山で戦
时间:
2014-1-16 22:20
哇 太强了 效果相当好
作者:
秋の名山で戦
时间:
2014-1-16 22:24
真心觉得是好贴 点128个赞
作者:
空木葬花
时间:
2014-8-16 17:07
非常感谢楼主!
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5