我在 Stata 中输出堆积条形图,每个堆积条形图从下到上排序:最大 -> 每个团队的最小获胜百分比。
clear
set obs 10
gen team = "yankees" if inlist(_n, 1, 6)
replace team = "red sox" if inlist(_n, 2, 7)
replace team = "mets" if inlist(_n, 3, 8)
replace team = "nationals" if inlist(_n, 4, 9)
replace team = "astros" if inlist(_n, 5, 10)
gen wins = -10 + 20 * _n
replace wins = wins[11 - _n] in 6/10
gen year = cond(_n <= 5, 2013, 2014)
gen season = "regular" in 1/10
set obs 16
replace team = "yankees" if inlist(_n, 11, 14)
replace team = "red sox" if inlist(_n, 12, 15)
replace team = "astros" if inlist(_n, 13)
replace team = "mets" if inlist(_n, 16)
replace wins = -10 + 30 * (_n-10) in 11/16
replace wins = wins[17 - _n] in 14/16
replace year = 2013 in 11/13
replace year = 2014 in 14/16
replace season = "playoffs" in 11/16
foreach x in "regular" "playoffs"{
preserve
keep if season == "`x'"
#delimit ;
graph bar (mean) wins, over(team, sort(1) descending) over(year, label(ticks labs(small))) asyvars stack
ytitle("Wins (%)")
title("Wins Percentages in `x'")
blabel(bar, position(center) format(%9.0f) size(2.5) color(white))
legend(size(2) rowgap(*.45) pos(6) rows (2) region(style(legend) fcolor(gs15) margin(medsmall)) colgap(*.75) symxsize(*.75) keygap(*.33));
#delimit cr
restore
问题在于,不同图表中球队的颜色有所不同,因为并非所有常规赛球队都会参加季后赛,而且颜色是按字母顺序分配的。例如,红袜队在图 1 中为黄色,但在图 2 中为绿色。
从 Stata 的帮助菜单中,唯一的修改似乎是通过 bar #:bar(#, barlook_options) look of #th yvar bar
例如:graph bar yvar1 yvar2, bar(1,color(green)) bar(2,color(red))
我在找
graph bar yvar1 yvar2, bar(team=="Yankees",color(blue)) bar(team=="Red Sox",color(red))
http://www.stata.com/statalist/archive/2011-03/msg00097.html http://www.stata.com/statalist/archive/2011-03/msg00097.html提供指导,但不提供上述结果。