ggplot2,R中的单条形图

rns*_*nso 5 r ggplot2

我有以下数据和代码:

> ddf
  var1 var2
1   aa   73
2   bb   18
3   cc    9
> 
> dput(ddf)
structure(list(var1 = c("aa", "bb", "cc"), var2 = c(73L, 18L, 
9L)), .Names = c("var1", "var2"), class = "data.frame", row.names = c(NA, 
-3L))
> 
> 
> ggplot(ddf,aes(x=var1, y=var2, fill=var1))+ geom_bar(width=1, stat='identity')
Run Code Online (Sandbox Code Playgroud)

这会创建一个带有3个条形的条形图.如何从此数据创建单个堆叠条.我希望将所有这3个条形堆叠在一起,而不是单独的条形.

Señ*_*r O 9

这就是您正在寻找的:

ggplot(ddf, aes(1, var2, fill=var1)) + geom_bar(stat="identity")
Run Code Online (Sandbox Code Playgroud)

您不能指定不同的x位置并要求它们同时堆叠.您必须指定它们位于相同的x位置,以使它们彼此重叠.

  • 你真的不需要重复`aes`中的1,即`aes(x=1, y=var2, fill=var1))`应该没问题。 (2认同)