我一直在浏览this页面上提供的示例,但出于某种原因无法找到正确的方法来完成此操作。如何用ggplot绘制一个堆叠的酒吧?
我有一些数据是这样的:
Group Member Percentage
[1,] "1" "A" "60"
[2,] "1" "A" "20"
[3,] "1" "A" "20"
[4,] "1" "B" "80"
[5,] "1" "B" "5"
[6,] "1" "B" "5"
[7,] "1" "B" "5"
[8,] "2" "C" "50"
[9,] "2" "C" "50"
[10,] "2" "D" "25"
[11,] "2" "D" "25"
[12,] "2" "D" "25"
[13,] "2" "D" "20"
[14,] "2" "D" "5"
,可以用下面的命令来创建:
a = c(1,1,1,1,1,1,1,2,2,2,2,2,2,2)
b = c("A","A","A","B","B","B","B","C","C","D","D","D","D","D")
c = c(60,20,20,80,5,5,5,50,50,25,25,25,20,5)
dat = data.frame(Group=a, Member=b, Percentage=c)
ggplot(dat, aes(x=Member, y=Percentage)) + geom_bar(stat="identity", position="dodge", fill="white", colour="black")
最后一行给我下面的情节:
我真正想要的是连接每个一组中的酒吧到一个酒吧,并将百分比表示为同一酒吧的分数(每个酒吧中的每个酒吧用一个酒吧绘制,每个酒吧以百分比作为他们的颜色)。所以我用下面的:
ggplot(dat, aes(x=Member, y=Percentage)) + geom_bar(stat="identity", colour="white")
并获得这样的:
但现在我无法得到正确的颜色。我想要的东西完全像下面给出的东西,但我无法理解如何做到这一点。有关如何做到这一点的任何建议?
http://had.co.nz/ggplot2/position_stack.html –
@ GSK3:只要设法做到这一点后,一些试验,虽然我没有用'位置= “堆叠”'。我不知道有什么区别。最好的办法是限制ggplot使用有限的颜色,而不是每找到一个新的百分比使用ggplot。 – Legend