如何在ggplot中绘制堆叠在一起的条形图?

时间:2018-01-22 15:00:12

标签: r ggplot2

我想从这个数据框中创建一个条形图:

library(ggplot2)
mydf=data.frame(c("A","B","C","D"),c(100,110,90,120),c(150,200,160,180))
names(mydf)=c("myfirstC","mysecondC","mythirdC")

为了绘制条形图,其中条形图堆叠在一起,我试图使用此代码:

ggplot(data=mydf, aes(x=myfirstC))+
    geom_col(aes(y=mysecondC), colour="blue")+
    geom_col(aes(y=mythirdC), colour="red")
head(mydf)

不幸的是,此代码仅返回带有来自“mythirdC”列的条形图。

问题:如何更改代码以获得堆叠图,不用重塑数据框?

1 个答案:

答案 0 :(得分:4)

如果您真的不想重塑,可以试试这个:

ggplot(data=mydf, aes(x=myfirstC))+
   geom_col(aes(y=mysecondC+mythirdC), fill="blue")+
   geom_col(aes(y=mythirdC), fill="red")

enter image description here

相关问题