不同类别的Stata着色条形图

时间:2017-10-25 14:06:25

标签: graph colors stata

我有以下条形图,我想将条形图(A,B,C)从类别" 1"颜色变为蓝色。条形图A,B,C来自类别" 2"绿色," 3"变黄," 4"棕色," 5"黑... ...

我正在努力理解如何理解这一点,因为当我尝试更改颜色时,它会将所有颜色更改为相同的颜色...

我的数据库是这样的:

ID var1 var2
sample1 A 1
sample2 B 1
sample3 C 1
sample4 C 1
sample5 A 2
sample6 B 3
sample7 C 2
sample8 A 4
sample9 A 4
sample10 A 5

要生成下面的图表,我只使用了命令:

graph bar (count), over(var1) over(var2)

我想要到达的地方是以不同颜色为组1,2,3,4和5着色,但条形图必须颜色相同...

e.g。 A,B,C来自第1组蓝色,A,B,C来自第2组绿色,A,B,C来自第3组,黄色,A,B,C来自第4组,棕色和A,B,C来自第5组黑人......

bar graph

2 个答案:

答案 0 :(得分:3)

如果您愿意使用图例而不是标签,我可以采用以下方式:

sysuse auto, clear
label define lab 1 "A" 2 "B" 3 "C" 4 "D" 5 "E"
lab val rep78 lab
graph bar (mean) price, over(rep78) asyvars over(foreign) bar(1, color(blue)) bar(2, color(green))  bar(3, color(yellow)) bar(4, color(brown)) bar(5, color(black)) legend(rows(1))

这会产生:

enter image description here

答案 1 :(得分:2)

要显示图表,这需要是一个问题,而不是评论。

这会将您的类别1到5显示为不同的颜色。有关如何指定所需颜色的信息,请参阅@Dimitriy Masterov的有用答案。

clear 
set scheme s1color 
input ID str1 var1 var2
1 A 1
2 B 1
3 C 1
4 C 1
5 A 2
6 B 3
7 C 2
8 A 4
9 A 4
10 A 5
end 
graph bar (count), over(var2) over(var1) asyvars yla(0/2, ang(h)) legend(row(1))

enter image description here