14

我正在尝试覆盖条形图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))

堆叠输出:

在此处输入图像描述

4

1 回答 1

25

尝试添加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"是一个更好的选择:

在此处输入图像描述

于 2012-10-23T16:48:37.897 回答