数学建模社区-数学中国
标题:
用SAS实现商业周刊经典风格 对绘图背景进行隔行填色
[打印本页]
作者:
厚积薄发
时间:
2011-6-7 20:16
标题:
用SAS实现商业周刊经典风格 对绘图背景进行隔行填色
2011-6-7 20:15 上传
下载附件
(7.88 KB)
data ex;
2 U' q' k) N; `+ {# u& A
input x y g color $;
- O1 R0 E: g" S& L5 H
cards;
' |* r+ n6 P( t# K [
1 2 1 Yahoo!
' R2 F$ o% m- S0 B+ a
1 4 2 Google
% H. ]3 n) R4 }- d% c8 P
2 5 1 Yahoo!
7 C% k0 K" J- s" R# e
2 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# L
5 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 A
when=’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# k
data 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) W
function=’bar’; x=100; y=20; color=”cxFFFBDD”;output;
$ V7 @$ b$ g% k, x f
function=’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 r
function=’bar’; color=”cxFFFBDD”; x=100; y=60; output;
2 ~# a. ^% \) B! |' Q5 s
function=’move’;x=0; y=60; output;
% G1 a* T5 D. g3 G9 p$ B
function=’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. i
function=’bar’; color=”cxFFFBDD”; x=100; y=100; output;
1 X. H4 S7 j4 |9 u1 e3 P/ L+ ?8 B
run;
6 ]) _1 _1 N5 c* ?2 c ?
data range_anno1;
* @- G# h! X6 l/ n
when=’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 p
function=’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 V
function=’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. `, W
run;
$ V( K/ X* y" |3 U" p# x
data range_anno;
/ E) }5 D1 j. s4 f
set range_anno range_anno1;
' f* v/ G% T1 Q2 o4 E
run;
" 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( l
vsize=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 @, M
htext=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% d
title j=l BCOLOR=black COLOR=white h=3.5 font=CENTB ” Bussniess weekly style”;
( O$ n7 n' A$ n- P0 k
title2 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 ^' ~. R
shape=bar(.1in,.1in);
' ~5 J. K9 ~4 O4 D
proc 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" J
sumvar=y
d' K7 E3 O: ]
maxis=axis1 raxis=axis2 GAXIS=axis3
6 [& I* ]$ F$ j: D! Y: C
coutline=gray33 caxis=”cxD6D3B8″
$ z1 O" {5 B, T! Q# {/ a" J
width=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: {( q
subgroup= color
' F# q$ ]; t/ n `; C( `
group=x
0 M7 W- {& Z: `9 k. D& L
legend=legend1
6 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# C
footnote2 justify=l h=1 font=swiss “
http://sxlion.blog.sohu.com
”;
# Q+ |! _& S% r+ D8 h8 s( y. y: Z& p6 Q
run;
% {! 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
2011-6-7 20:15 上传
下载附件
(10.18 KB)
/ @ b% i9 i* a9 Z
本来准备在sgplot的band语句画区域作为背景来实现的,但是由于存在bar图与band不兼容的情况,于是只好转向anno了。见SAS公司详细说明。
! U# O! C/ B) L/ w- `# H0 `" X
There are four basic types of plots that you can create with the SGPLOT procedure:
) S7 L, K9 i; o9 n: |
Basic plots
9 o! U) g8 g* Z! @6 d
scatter, series, step, band, needle, and vector plots
8 V1 N$ j0 l/ Y# l/ S( b: n) S
Fit and confidence plots
: F; I3 I! z! S8 q1 g' B# P$ B
loess, regression, and penalized B-spline curves, and ellipses
- G! D- Q+ [* z2 G. {- D
Distribution 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, E
title ;
A4 a0 d7 k3 C) s
footnote;
, w" Y* x( n4 R4 Y: w
proc 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. F
band x=x lower=5 upper=7.5 /OUTLINE transparency=.8 LINEATTRS=(color=black) fillattrs=(color=cxEEE3B4) NOOUTLINE;
5 ^4 D7 F) k5 M
band x=x lower=7.5 upper=10 / OUTLINE transparency=.7 LINEATTRS=(color=black) fillattrs=(color=orange) NOOUTLINE;
1 |! f& c9 v$ ]9 T" l. C
band 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 H
run;
$ |- 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