数学建模社区-数学中国

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

作者: 厚积薄发    时间: 2011-6-7 20:16
标题: 用SAS实现商业周刊经典风格 对绘图背景进行隔行填色
d1.png data ex;
+ t. K9 Z" [+ h7 N. {; O7 x8 O6 Zinput x y g color $;2 r9 ]  W  C$ {2 L  A. D
cards;
4 W2 n* V1 R/ T! A/ a) @1 2 1  Yahoo!
. e. _, z) ?7 U$ b1 4 2 Google( j3 i  @6 x/ J7 u$ e9 f. o8 n" V
2 5 1 Yahoo!* n$ q+ `7 E1 d8 F( u/ h6 w
2 8 2 Google/ m5 q0 _3 a  R, h. z3 m+ }" H
4 12  1 Yahoo!; g' s+ g* t7 D& Q) J
4 10 2 Google2 c% S# F  X8 {& C3 X, U1 u
5 9  1 Yahoo!
+ U# @7 G7 ]3 {  t$ o  E. \5 7 2 Google
' N5 }3 Y8 O! [' ~# a$ F8 G/ @$ l;
8 c# w! x0 ^! Z  udata title_anno;& f9 h4 W2 ]( I3 a3 F  R/ A  H4 F7 u, d
when=’b'; xsys=’3′; ysys=’3′; style=’solid’;4 J" E/ Z. M  v/ L& v/ ^
function=’move’; x=0; y=87;  output;" Y/ z) Y' s# W4 z9 t  o
function=’bar’; x=100; y=100; color=’black’; output;& v) L7 a+ g8 Y- k
run;- Z3 Q# k& `7 c5 h9 \1 \
data range_anno;) M; V- L3 B3 a3 u% v9 S) s8 D
when=’b'; xsys=’1′; ysys=’1′; style=’solid’;% v' @7 H) D, p: `) [! r
function=’move’; x=0; y=0; output;
7 c& Z4 E1 _! s0 z$ p# i, ~- A* Hfunction=’bar’;  x=100; y=20; color=”cxFFFBDD”;output;
! r+ ^/ P" Z* v( D& {4 qfunction=’move’; x=0; y=20; output;
) R8 J$ o9 P: d7 J$ Kfunction=’bar’; color=”cxEEE3B4″; x=100; y=40; output;
) S# z9 @; Q  _9 v6 Mfunction=’move’;x=0; y=40; output;; r7 L0 p# ]  t/ n' ~# p
function=’bar’; color=”cxFFFBDD”; x=100; y=60; output;/ h7 d" e) ]* `* k, _) S
function=’move’;x=0; y=60; output;
+ C8 Q1 |" a6 {3 _" rfunction=’bar’; color=”cxEEE3B4″; x=100; y=80; output;, g& e0 @1 ]1 y6 J5 l( X& y! [& G
function=’move’;x=0; y=80; output;
2 R1 a9 G6 R3 x8 w6 Tfunction=’bar’; color=”cxFFFBDD”; x=100; y=100; output;
4 L) |- K% q7 D" Zrun;
3 Q/ n# Z, y. [, G+ }8 cdata range_anno1;# F/ [: ~) T/ S& n. w' ^
when=’b'; xsys=’1′; ysys=’1′;" p8 U  M  {8 `3 G- o6 ?
function=’move’; x=0; y=20; output;
' B- b  L. T$ @1 W$ K( {, Gfunction=’bar’;  x=100; y=20; color=”cxD6CECD”;output;  F0 O& Z: b- j& ]2 e4 l; g, H: w
function=’move’; x=0; y=40; output;
; o6 P1 r+ N) k& I! ~- Xfunction=’bar’; color=”cxD6CECD”; x=100; y=40; output;
  }6 Q( Y4 F9 rfunction=’move’;x=0; y=60; output;3 R3 o7 n, }$ ^
function=’bar’; color=”cxD6CECD”; x=100; y=60; output;! L% X. y+ H$ B5 a, ?
function=’move’;x=0; y=80; output;. ?2 p; E) }0 Q4 f+ t+ L# V5 @. K
function=’bar’; color=”cxD6CECD”; x=100; y=80; output;8 c$ t, @; K4 {) G: t& ^8 }
run;, v5 s4 D( i) A/ ^7 `
data range_anno;* G. P: m0 K8 U. j0 J
set range_anno range_anno1;! o$ S, s( \, I! V) ^
run;+ i4 Q8 Z( E( S1 u: M1 R# ]
FILENAME file “c:\bussiness.png”;; d/ O4 ^) a4 X6 E
GOPTIONS reset=all noborder  Cback=”cxEEE3B4″ device=png  gsfname=file
& e; H1 ^0 r* b: g5 Bvsize=7cm hsize=7cm" Y* e- c- k" n. |) i; r0 S5 k
ymax=8cm xmax=9cm- u' I+ s3 n) h; [3 b, }
htext=1.5   ;
) w" ~5 x+ k* r, M% Y( haxis1  major=none width=2 label=none  REFLABEL=none value=(h=1 color=black “Q1″ “Q2″ “Q3″ “Q4″ ) offset=(4,4);
/ K9 A8 a% j8 {1 t2 c8 U' saxis2 color=black width=2 label=none order=(0 to 13 by 4) minor=none major=(h=1)  value=(h=1.0) offset=(0,2);2 h1 u' K; n1 n5 S
axis3 major=none label=none value=none;- t9 P0 T; o& J3 \% r* K- I# |
pattern1 v=s color=’cxFF8E00′;3 Z( _0 t/ K  h
pattern2 v=s color=’cx004C7A’;9 \1 V: H; ?2 N6 m6 V- A. V; o
title j=l BCOLOR=black  COLOR=white h=3.5 font=CENTB  ” Bussniess weekly style”;
% {4 }% z/ i+ \. z1 q" O, atitle2 j=l ” Internation compsdfdsfsfd”;& V; V; Z) X2 r' j6 a/ c
title3 j=l ” asdfd asdfdf dfsdfsd”;
3 v& o" C# _6 E6 ^& i* d" Z0 \3 [legend1 label=none value=(HEIGHT=1.2 ‘Yahoo!’ ‘Google’ )  POSITION=(inside middle )  OFFSET=(-11,2.5)5 y4 E$ |9 c( h# `
shape=bar(.1in,.1in);
  P; w; u4 L) W- l, uproc gchart data=ex anno=title_anno;
& Z7 Y) V/ Z4 d) V* E0 J0 fvbar g / discrete       type=sum
! {# d: ]/ T; @6 Dsumvar=y
) Y5 r( w7 ^- Q6 h3 E9 ?maxis=axis1 raxis=axis2 GAXIS=axis3
. ~+ v3 p6 g  `  ccoutline=gray33  caxis=”cxD6D3B8″
+ C) N3 N9 v4 n: {width=48 X- a/ t: p* O! s+ ^* a
space=0
( e, l* L; W" {3 h/ D% _gspace=0
* @, f  @3 n1 U# m2 F: isubgroup= color
6 K$ t0 O$ @4 c( w+ H& `9 egroup=x7 W$ u+ L  V3 j- P3 b; F
legend=legend1+ _8 T9 b% A3 q1 f) h. Q
anno=range_anno ;
% C" Q8 o. J# d4 Y+ h$ i' Lfootnote justify=l h=1 font=swiss “  Data from **group”;. N  q# F6 \& X
footnote2 justify=l h=1 font=swiss “  http://sxlion.blog.sohu.com”;
, O! \! \* S; j* K# _6 zrun;
# v4 f0 P. y- r$ l$ fquit;+ ]( u( Q7 z9 M3 u. K, M
下面是excelpro博客介绍的经典商业周刊风格的图表,对比一下相差无几。3 `% Q+ Y7 y) L  E+ W0 @  h7 K
这代码是相当的复杂,调试也比较费功夫。) Y5 s% ?/ A5 S) ^# R! N% w$ t
d2.gif
  q" Z/ ]" I8 S+ I本来准备在sgplot的band语句画区域作为背景来实现的,但是由于存在bar图与band不兼容的情况,于是只好转向anno了。见SAS公司详细说明。* R7 U7 N2 S( d& t
There are four basic types of plots that you can create with the SGPLOT procedure:
; i+ T4 G' L9 [Basic plots, ^( j. V8 }9 @7 k1 H) v0 H  m
scatter, series, step, band, needle, and vector plots
; \0 H' k, w' J  u. S, }& i" \Fit and confidence plots
) v' i3 r: `2 t4 h8 j* B: ploess, regression, and penalized B-spline curves, and ellipses  K- c6 S% B: g" r
Distribution plots
9 |' v, M0 p5 z4 Q3 qbox plots, histograms, and normal and kernel density estimates
" K" e: n5 a8 X! w2 p/ WCategorization plots
! L8 e+ G3 {6 Q: e2 f) e; hdot plots, bar charts, and line plots
; t- W; k) l) H; o5 Z4 d3 JNot 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$ e/ W9 u% i7 A, X

5 d" w7 Y/ M0 Q" \# H3 n8 H$ C9 K# m, g) ]* T$ ^6 d& @8 I5 w* c
data ex;5 D5 M6 w; ^( `) o1 B9 @' k
input x y ;+ j" b, B5 K& c3 O
cards;
" O# [$ V# P2 F0 }8 H4 f! N1 2) I4 d; k" z5 l9 y) G. N5 Q. ~7 X
2 7
- h5 h/ H, h# r" y$ z4 127 S6 I+ h4 y6 t: p: R5 c, D
5 11/ A0 V, a3 z( p; ^. M
6  9
) `+ `3 ?% j, ~: K! z3 n# m2 l7  8
% k) G$ h4 S. p& ~* D;! o: b; W5 M1 [0 `. I. @
title ;
9 i- N5 e" n2 H  b% efootnote;1 |& Z" o) S! t  U$ p: k
proc sgplot data=ex noautolegend;
) |2 X8 A  G2 U- N# O# NSERIES  x=x y=y/LINEATTRS=(color=blue thickness=6) ;: R, Y/ E$ n# _% g
band x=x lower=0 upper=2.5 / OUTLINE  transparency=.8 LINEATTRS=(color=black) fillattrs=(color=cxEEE3B4) NOOUTLINE;
. Z/ e6 A7 N* t; T6 Y! J# Eband x=x lower=2.5 upper=5  / OUTLINE transparency=.7 LINEATTRS=(color=black) fillattrs=(color=orange) NOOUTLINE;" R4 Z% t2 S0 t
band x=x lower=5 upper=7.5 /OUTLINE transparency=.8 LINEATTRS=(color=black) fillattrs=(color=cxEEE3B4) NOOUTLINE;  P5 V2 z+ R/ i' L% T- r" Z. G
band x=x lower=7.5 upper=10  / OUTLINE transparency=.7 LINEATTRS=(color=black) fillattrs=(color=orange) NOOUTLINE;
4 h) u% b1 K0 L, G- U/ iband x=x lower=10 upper=12.5 /OUTLINE transparency=.8 LINEATTRS=(color=black) fillattrs=(color=cxEEE3B4) NOOUTLINE;0 C2 a* b8 C4 ~
yaxis values=(0 to 12 by 3)   min=0   max=13 valueshint;; x) c& a0 K6 d: G% i8 _8 @
xaxis values=(0 to 8 by 2)   min=0   max=8 valueshint;+ ~8 w! Z  T* o  p" e7 U
run;
5 ]. L- _+ ?; S5 [% X1 h2 ]来源:数据挖掘学院
作者: 平平凡凡的我    时间: 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