我想在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")
答案 0 :(得分:16)
您可以指定position = position_dodge(...)
。
ggplot (df, aes(x=z, y=value, fill=variable)) +
geom_bar (stat="identity", position = position_dodge(width = 0.5))
答案 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))