我正在尝试在ggplot2
我当前的代码生成条形图,但它们堆叠在一起。我不想要这个,我希望它们重叠,这样我就可以看到每个条形高度的差异。
代码:
library(ggplot2)
library(reshape)
x = c("Band 1", "Band 2", "Band 3")
y1 = c("1","2","3")
y2 = c("2","3","4")
to_plot <- data.frame(x=x,y1=y1,y2=y2)
melted<-melt(to_plot, id="x")
print(ggplot(melted,aes(x=x,y=value,fill=variable)) + geom_bar(stat="identity", alpha=.3))
堆叠输出:
答案 0 :(得分:18)
尝试将position = "identity"
添加到geom_bar
来电。您会在?geom_bar
中注明默认排名为stack
,这是您在此处看到的行为。
当我这样做时,我得到:
print(ggplot(melted,aes(x=x,y=value,fill=variable)) +
geom_bar(stat="identity",position = "identity", alpha=.3))
并且,如下所述,可能position = "dodge"
可能是一个更好的选择: