在ggplot中调整geom_bar(position =“dodge”)

时间:2014-04-01 18:28:53

标签: r ggplot2

我想在ggplot中创建一个2变量条形图,其中一个度量部分隐藏在另一个之后。我可以使用Series Overlap在Excel中执行此操作并获取this result

使用geom_bar(position =“dodge”)将两个条并排放置。有没有办法调整这个?

一些代码:

library (ggplot2)
library(reshape2)
x <- c(19, 18, 21, 19)
y <- c(17, 16, 18, 19)
z <- c("a", "b", "c", "d")

df <- melt (data.frame (x,y,z))

ggplot (df, aes(x=z, y=value, fill=variable)) + geom_bar (stat="identity", position ="dodge")

2 个答案:

答案 0 :(得分:16)

您可以指定position = position_dodge(...)

来自定义躲避
ggplot (df, aes(x=z, y=value, fill=variable)) + 
  geom_bar (stat="identity", position = position_dodge(width = 0.5))

enter image description here

答案 1 :(得分:0)

我在上面的帮助下解决了这个问题,但需要进一步调整:

ggplot (df, aes(x=z, y=value, fill=variable)) + 
  geom_bar (stat="identity", position = position_dodge2(width = 0.5, preserve = "single", padding = -0.5))