数学建模社区-数学中国

标题: 用SAS实现商业周刊经典风格 对绘图背景进行隔行填色 [打印本页]

作者: 厚积薄发    时间: 2011-6-7 20:16
标题: 用SAS实现商业周刊经典风格 对绘图背景进行隔行填色
d1.png data ex;
2 U' q' k) N; `+ {# u& Ainput x y g color $;
- O1 R0 E: g" S& L5 Hcards;' |* r+ n6 P( t# K  [
1 2 1  Yahoo!
' R2 F$ o% m- S0 B+ a1 4 2 Google
% H. ]3 n) R4 }- d% c8 P2 5 1 Yahoo!
7 C% k0 K" J- s" R# e2 8 2 Google
% Y; }% F, L& e) \7 c4 ]- w& Y' \4 12  1 Yahoo!& Z* j3 j. g1 C- P3 r% X  J
4 10 2 Google
& {; D) |8 |# \" B# L5 9  1 Yahoo!# H4 J6 i0 Z0 E
5 7 2 Google
+ N5 s6 n% ?7 {" e2 i;0 M- `  c$ r5 h, g/ P
data title_anno;
8 `4 T. z) A3 b4 Awhen=’b'; xsys=’3′; ysys=’3′; style=’solid’;: V1 y8 V, p. v; ^  _8 W1 C
function=’move’; x=0; y=87;  output;
! ]' a6 |1 {5 ]$ x4 n5 j" @function=’bar’; x=100; y=100; color=’black’; output;. g% l% x. y% I& |
run;
5 v- x0 {1 G. ?" T# kdata range_anno;& \: W2 ~& y! r1 Y& i* A  }
when=’b'; xsys=’1′; ysys=’1′; style=’solid’;
# R: B5 P7 j% y, _function=’move’; x=0; y=0; output;
4 D  q, m/ T- Y& V/ y) Wfunction=’bar’;  x=100; y=20; color=”cxFFFBDD”;output;
$ V7 @$ b$ g% k, x  ffunction=’move’; x=0; y=20; output;
% b/ A3 b  v) I+ B. \function=’bar’; color=”cxEEE3B4″; x=100; y=40; output;: I. Z& \3 T% ^" {
function=’move’;x=0; y=40; output;
7 J0 T1 f0 X* D. ~* {3 s7 rfunction=’bar’; color=”cxFFFBDD”; x=100; y=60; output;
2 ~# a. ^% \) B! |' Q5 sfunction=’move’;x=0; y=60; output;
% G1 a* T5 D. g3 G9 p$ Bfunction=’bar’; color=”cxEEE3B4″; x=100; y=80; output;
4 E% b0 @- L# E. n( a! B; m$ }( {function=’move’;x=0; y=80; output;
5 L/ Q" ^5 G' o+ v. ifunction=’bar’; color=”cxFFFBDD”; x=100; y=100; output;
1 X. H4 S7 j4 |9 u1 e3 P/ L+ ?8 Brun;6 ]) _1 _1 N5 c* ?2 c  ?
data range_anno1;
* @- G# h! X6 l/ nwhen=’b'; xsys=’1′; ysys=’1′;! T7 v+ L- U$ ?; a. k' `0 T4 ]2 w
function=’move’; x=0; y=20; output;
7 j$ q) M" G# p; O" g5 [& @function=’bar’;  x=100; y=20; color=”cxD6CECD”;output;3 q2 B% @/ [; R0 L
function=’move’; x=0; y=40; output;
. W9 [, r: |4 \- b8 \' b, g5 pfunction=’bar’; color=”cxD6CECD”; x=100; y=40; output;, p7 U$ n. ?6 n
function=’move’;x=0; y=60; output;
3 O0 T) }% H9 F6 B7 z) {+ I  Vfunction=’bar’; color=”cxD6CECD”; x=100; y=60; output;8 }' T! W4 }8 R
function=’move’;x=0; y=80; output;
' ]) ^2 {" ^! p) Y% x6 }function=’bar’; color=”cxD6CECD”; x=100; y=80; output;
/ q3 |9 t% P# i' p4 F, M. `, Wrun;
$ V( K/ X* y" |3 U" p# xdata range_anno;
/ E) }5 D1 j. s4 fset range_anno range_anno1;
' f* v/ G% T1 Q2 o4 Erun;" N: i5 q- Y  t- g& d- N( R
FILENAME file “c:\bussiness.png”;
8 L: `9 r$ Q/ [  G; l0 _0 `GOPTIONS reset=all noborder  Cback=”cxEEE3B4″ device=png  gsfname=file
3 t& _" [" k* u( lvsize=7cm hsize=7cm. A' G! N' {$ h  p3 w! v1 _) \. K
ymax=8cm xmax=9cm
& Y/ M2 s6 J6 W+ l- m# q' \0 N8 @, Mhtext=1.5   ;, D7 i& f- L0 x% t% t4 ^: @
axis1  major=none width=2 label=none  REFLABEL=none value=(h=1 color=black “Q1″ “Q2″ “Q3″ “Q4″ ) offset=(4,4);$ K2 B% _, P4 ~# ^9 n% T
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);0 {3 I: P) d7 J' w8 z5 y
axis3 major=none label=none value=none;2 ~0 v& P9 g# v# j
pattern1 v=s color=’cxFF8E00′;# u& h6 R0 K1 {) {7 ~  @
pattern2 v=s color=’cx004C7A’;
; R0 h& q0 J& n4 U3 L0 x% dtitle j=l BCOLOR=black  COLOR=white h=3.5 font=CENTB  ” Bussniess weekly style”;
( O$ n7 n' A$ n- P0 ktitle2 j=l ” Internation compsdfdsfsfd”;" ]$ @1 r1 W- X2 W" f1 Y* Z# D. K
title3 j=l ” asdfd asdfdf dfsdfsd”;1 W( B8 Q, ]; \7 f5 J$ p" l6 \- J
legend1 label=none value=(HEIGHT=1.2 ‘Yahoo!’ ‘Google’ )  POSITION=(inside middle )  OFFSET=(-11,2.5)
2 u, e8 h3 ?9 B- h4 ^' ~. Rshape=bar(.1in,.1in);
' ~5 J. K9 ~4 O4 Dproc gchart data=ex anno=title_anno;, y2 m3 a& v6 R5 |' c# h: a
vbar g / discrete       type=sum
. Q( r8 Q4 M% Y/ Y" Jsumvar=y
  d' K7 E3 O: ]maxis=axis1 raxis=axis2 GAXIS=axis36 [& I* ]$ F$ j: D! Y: C
coutline=gray33  caxis=”cxD6D3B8″
$ z1 O" {5 B, T! Q# {/ a" Jwidth=4( z, a2 Z5 u& \' n) V3 h2 w
space=0
% S8 \0 J9 I+ Z) U6 ?gspace=0
; M8 N6 L% c$ U- v! K" F: {( qsubgroup= color
' F# q$ ]; t/ n  `; C( `group=x
0 M7 W- {& Z: `9 k. D& Llegend=legend16 C- W) z, X! ?( a& A5 v3 F! Q
anno=range_anno ;# }  ]+ a* F9 ~0 h4 {& K  H) H7 M
footnote justify=l h=1 font=swiss “  Data from **group”;
. A4 v/ d* U1 N4 a4 D# Cfootnote2 justify=l h=1 font=swiss “  http://sxlion.blog.sohu.com”;
# Q+ |! _& S% r+ D8 h8 s( y. y: Z& p6 Qrun;% {! z0 M; g  l7 V& N0 M
quit;
0 K& U+ x+ D) g$ F0 Y* Q下面是excelpro博客介绍的经典商业周刊风格的图表,对比一下相差无几。
: ~' A9 W" B8 Z2 S! |) l- a这代码是相当的复杂,调试也比较费功夫。
6 ~% P: J: t8 o* v) P1 G2 d d2.gif
/ @  b% i9 i* a9 Z本来准备在sgplot的band语句画区域作为背景来实现的,但是由于存在bar图与band不兼容的情况,于是只好转向anno了。见SAS公司详细说明。
! U# O! C/ B) L/ w- `# H0 `" XThere are four basic types of plots that you can create with the SGPLOT procedure:
) S7 L, K9 i; o9 n: |Basic plots9 o! U) g8 g* Z! @6 d
scatter, series, step, band, needle, and vector plots8 V1 N$ j0 l/ Y# l/ S( b: n) S
Fit and confidence plots
: F; I3 I! z! S8 q1 g' B# P$ Bloess, regression, and penalized B-spline curves, and ellipses
- G! D- Q+ [* z2 G. {- DDistribution plots: T: [4 b3 _  B5 f  u5 V% Q
box plots, histograms, and normal and kernel density estimates- e' s9 i# X, }8 }
Categorization plots: j( @, G1 s! V: }
dot plots, bar charts, and line plots( ^7 m" v# y0 j
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" |& _( |0 p& k* }$ D+ Y
# |. o; B  I8 \4 F
5 j1 @6 ^4 D# B- C+ c
data ex;
" }2 U% e( G9 z; h0 r* H8 @input x y ;+ X. ~3 M) X; c) y" J- s0 M/ ^
cards;: ]; E. n& `7 V' j+ {5 S1 \; T* s
1 2
/ U5 S' s0 a% G9 C  _: @2 7
- p# f3 l! N) n8 [4 12/ H7 g0 Z5 f, ]$ n$ Y, t9 @
5 11% d2 `  P! L$ {
6  9+ q& g$ P) s0 w
7  8
" M/ N& a1 J2 S; T$ N) E;
) c+ `# z) s6 R1 O, Etitle ;  A4 a0 d7 k3 C) s
footnote;
, w" Y* x( n4 R4 Y: wproc sgplot data=ex noautolegend;. O0 B, j2 f( |' j7 R7 t- n: ]
SERIES  x=x y=y/LINEATTRS=(color=blue thickness=6) ;' V9 v. Z$ {( i, @6 [
band x=x lower=0 upper=2.5 / OUTLINE  transparency=.8 LINEATTRS=(color=black) fillattrs=(color=cxEEE3B4) NOOUTLINE;
# ~3 H) f3 ?6 ^band x=x lower=2.5 upper=5  / OUTLINE transparency=.7 LINEATTRS=(color=black) fillattrs=(color=orange) NOOUTLINE;
0 b6 ^: F! c5 u, V; [2 E. Fband x=x lower=5 upper=7.5 /OUTLINE transparency=.8 LINEATTRS=(color=black) fillattrs=(color=cxEEE3B4) NOOUTLINE;
5 ^4 D7 F) k5 Mband x=x lower=7.5 upper=10  / OUTLINE transparency=.7 LINEATTRS=(color=black) fillattrs=(color=orange) NOOUTLINE;
1 |! f& c9 v$ ]9 T" l. Cband x=x lower=10 upper=12.5 /OUTLINE transparency=.8 LINEATTRS=(color=black) fillattrs=(color=cxEEE3B4) NOOUTLINE;8 A# ^$ f+ S- v% v$ w
yaxis values=(0 to 12 by 3)   min=0   max=13 valueshint;) Y  r) H/ B* k$ B/ Z7 Y
xaxis values=(0 to 8 by 2)   min=0   max=8 valueshint;
) X; C) ^4 {# N# O( m# y7 O+ N5 Hrun;$ |- H9 ~# b% q6 y7 O6 c, O# w( o
来源:数据挖掘学院
作者: 平平凡凡的我    时间: 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