【问题标题】:Grouped, Stacked Barplot Over Time随时间分组的堆积条形图
【发布时间】:2014-09-06 04:50:58
【问题描述】:

我正在尝试随着时间的推移绘制 2 个堆叠的条形图。从本质上讲,随着时间的推移,它们就像分组的条形图(beside=TRUE),但也可以堆叠。其他 stackoverflow 问题回答了类似的问题,例如堆叠和分组图表,但在这里不起作用 - 如果您看到我错过的一个很好的例子,请告诉我。

我的策略是绘制第一组条形图,在它们之间创建空间并尝试在这些空间中绘制第二个条形图,使用 barplot 中的 par(new=TRUE)add = TRUE 参数。但是,第二组条总是与第一组重叠。 Barplot 文档表明 offset 参数应该很有用,但我似乎找不到任何使用它的示例,而且我自己的实验似乎从未像预期的那样出现。

这是我迄今为止尝试过的代码示例:

data1  = cbind(c(1,1.25),c(1.2,1.5),c(.75,1.2))
data2  = cbind(c(1.3,1.5),c(1,1.25),c(1.25,.75))

barplot(data1,
        space = 3,
        col = c(2,3))
barplot(data2,
        space = 3,
        col = c(4,5),
        add = TRUE)

任何建议或资源将不胜感激。

【问题讨论】:

  • 由于答案似乎是在barplot 中使用“空格”,并且在 : [r] barlplot 空间上的 SO 搜索有 168 次点击,我想问您是否进行了任何搜索。 (我真的,真的厌倦了条形图问题。)
  • @BondedDust 我已经查看了它们,但是虽然有些确实相似,但我无法找到可以在我的情况下使用的东西,尽管我当然可能忽略了一些东西。此外,当时我认为解决方案更有可能来自 offset 参数,它几乎没有文档和示例。在发布我的问题之前,我搜索了大约 2 个小时的各种内容,所以我真的努力避免多余 - 尽管我再次承认我可能忽略了一些东西。

标签: r plot


【解决方案1】:

您可以调整第二个绘图的space 参数。在这种情况下,第一个条形之前的空间需要大于第一个图的空间。但是,条之间的间距必须相同。您可以将参数 space = c(4, 3, 3) 用于第二个绘图。

barplot(data1,
        space = 3,
        col = c(2, 3))
barplot(data2,
        space = c(4, 3, 3),
        col = c(4, 5),
        add = TRUE)

【讨论】:

  • 非常感谢您的帮助,这正是我所需要的!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-11-09
  • 1970-01-01
  • 1970-01-01
  • 2020-11-10
  • 2021-10-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多