【问题标题】:Adding more complexity to stacked barchart in ggplot在 ggplot 中为堆积条形图添加更多复杂性
【发布时间】:2015-01-06 21:25:45
【问题描述】:

这有点混乱,我知道,但我正在尝试进一步划分构成堆叠条形图的数据。 到目前为止,它是这样的:

A = ggplot(data=yield,aes(N,Mean.Yield,fill=Cutting))
B=A+facet_grid(Location~Mngmt)+geom_bar(stat="identity")
B+labs(x="Nitrogen Level")+labs(y="Yield (lb/acre)")

生成此图: (我会发布图表,但显然我作为新成员的声誉达不到标准!)

如何按“物种”因子进一步划分条形?我假设它涉及添加另一个geom,但我对这一切都很陌生。 谢谢!

编辑添加: 尝试将mtcars 用于虚拟数据,虽然不是最好的,因为 mpg 不像我的数据中的两次切割的产量那样是累加的。

mtcars$cyl=as.factor(mtcars$cyl)
mtcars$vs=as.factor(mtcars$vs)
mtcars$am=as.factor(mtcars$am)
mtcars$gear=as.factor(mtcars$gear)
mtcars$carb=as.factor(mtcars$carb)
A = ggplot(data=mtcars,aes(cyl,mpg,fill=gear))
B=A+facet_grid(am~vs)+geom_bar(stat="identity")

这会产生这个丑陋的图表:http://i.imgur.com/sK7A5am.png(http://i.imgur.com/sK7A5am.png) 我希望将每个条(例如,cylinders)分成两个并排的条(在本例中,6 个并排的条表示每个气缸系数具有不同水平carb的发动机的mpg)。我希望这是有道理的。再次感谢!

【问题讨论】:

  • 将您的图表上传到任何免费图片网站,在此处发布 URL,我们会为您编辑。
  • 你是什么意思'除以因子“物种”',第二个刻面,或堆叠条形图,或并排条形图?
  • @Slim 你有reproducible example 吗?如果您无法或不愿意共享自己的数据,请创建虚拟数据或使用 R 内置的 datasets 之一。作为对您问题的猜测,您可以在facet() 中使用+facet_grid(Location~Mngmt + species) 或更改条形的颜色:geom_bar(stat="identity", aes(color = species))
  • graph 我到目前为止:i.imgur.com/eZEaWfL.png 我想我不知道如何表达我想要表达的意思。我想将这些条中的每一个分成两个并排的颜色不同的条
  • @RichardErickson 在facet() 中使用+ Species 绝对接近我正在寻找的东西,但我想我正试图让这些酒吧并排。我觉得这叫交错?

标签: r ggplot2 stackedbarseries


【解决方案1】:

好的,根据您的 cmets,我认为您想更改 geom_bar() 中的 position。使用来自ggplot2diamonds 数据集,这看起来像你想要的吗?

library(ggplot2)
## note the diamonds dataset comes with ggplot2

ggplot(diamonds, aes(clarity, fill=cut)) + 
    geom_bar(position="dodge") 


(来源:ggplot2.org

然后您只需添加您的facet 和其他详细信息。以diamonds 为例,这将是

ggplot(diamonds, aes(clarity, fill=cut)) + 
    geom_bar(position="dodge") + 
    facet_grid(color ~ clarity)

浏览ggplot2 help files,我想出了如何做到这一点

【讨论】:

  • 我已经尝试过了,但是当我将位置设置为闪避时,它会否定我正在寻找的附加堆叠。我尝试在对原始数据集的编辑中使用 mtcars 数据集提供虚拟代码
  • @Slim 我在 Stacks 中进行了搜索,发现其他人的 similar problem。看一看。他们最终遇到了类似的问题。其中一个 cmets 是“我认为你想要的是躲闪和堆叠,但你不能两者都做。”可悲的是,我不认为ggplot 可以做你想做的事。您可以尝试将您的问题发布到 ggplot2 Google group
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-22
  • 1970-01-01
相关资源
最近更新 更多