格式化堆叠的geom_bar ggplot的内部行

时间:2018-06-06 03:59:26

标签: r ggplot2 geom-bar

我想从我的ggplot中删除内部边框,只在每个条形图的外部留下彩色边框。这是一个测试数据框,带有堆积条形图。理想情况下,我最终会看到堆栈中的组仍然是灰色的阴影,每个框都有一个彩色轮廓。

test <- data.frame(iso=rep(letters[1:5],3),
               num= sample(1:99, 15, replace=T),
               fish=rep(c("pelagic", "reef", "benthic"), each=5),
               colour=rep(rainbow(n=5),3))

ggplot(data=test, aes(x=iso, y=num, fill=fish, colour=colour)) +
  geom_bar(stat="identity") +
  theme_bw() + 
  scale_colour_identity() + scale_fill_grey(start = 0, end = .9)

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以将fillcolour aes()设置移动到两个单独的geom_bar()元素中来实现此目的:一个取每个iso值的总和(大纲),另一个用fish分隔的东西:

ggplot(data=test, aes(x=iso, y=num)) +
  geom_bar(stat="summary", fun.y="sum", aes(color=colour)) +
  geom_bar(stat="identity", aes(fill=fish)) +
  theme_bw() + 
  scale_colour_identity() + 
  scale_fill_grey(start = 0, end = .9)

enter image description here