R:ggplot2 - 在条形图中堆叠和躲避

时间:2017-09-18 23:29:29

标签: r ggplot2 bar-chart facet

使用玩具数据集使用ggplot2包创建一个带有构面的简单条形图:

library(ggplot2) 
library(reshape2) # to convert to long format 

databas<-read.csv(data=
                    "continent,apples,bananas
                  North America,30,20
                  South America,15,34.5
                  Europe,15,19
                  Africa,5,35")

databaslong<-melt(databas) 

# plotting as colored bars 
ggplot(databaslong, aes(x=variable, y=value, fill=variable))+
  geom_col()+
  facet_grid(.~continent)

并获得以下内容:

simple bar plot with facets

如何将苹果放在香蕉上(反之亦然)?为什么指令position="stack"(或position="dodge")在geom_col()或其他地方没有效果? (小平面总是带着酒吧躲闪)

1 个答案:

答案 0 :(得分:3)

你已经在美学映射中指定了x=variable,因此变量中的每个值(即苹果和香蕉)都沿着x轴获得自己的位置,并且没有任何东西可以叠加。 / p>

如果你想要苹果&amp;要为每个大陆堆叠香蕉,您可以指定x=continent代替:

ggplot(databaslong, 
       aes(x = continent, y = value, fill = variable)) +
  geom_col()

enter image description here