【问题标题】:Using Geom_Bar in GGplot2在 GGplot2 中使用 Geom_Bar
【发布时间】:2015-04-28 21:01:05
【问题描述】:

所以我尝试在 ggplot2 中使用 geom_bar,而我在网上看到的人们展示它的所有案例都是某些事物的相对频率。我正在尝试做的图表是像这样的堆积条形图

但是,我想从值的向量中做到这一点。也就是说,假设我有向量

v=c(1,2,3,4)

而不是 4 个偶数条,这是我理解我会得到的,我想要一堆 4 个条,其中最上面的一个是 1 个单位高,下一个是 2 个单位高(等等)。这在 R 中可能吗?

编辑:这是我用于图表的代码。它产生了一个正常的条形图,而不是我正在寻找的堆叠版本:

ggplot(data = v, aes(x = factor(x), y = y)) + geom_bar(aes(fill = factor(y)),stat = 'identity')

【问题讨论】:

  • 到目前为止您尝试了什么?提供一些示例数据和代码会更容易帮助您
  • 我还没有尝试过任何东西,因为我通过谷歌搜索找到的所有东西(条形图 r 产生了我从中得到图片的教程)都使用了按因子名称分组的因子频率作为例子。我还没有广泛使用 ggplot,所以我不确定有什么限制,或者如何为它格式化数据。
  • 我想你要找的是stat="identity"

标签: r ggplot2


【解决方案1】:

我认为你可以从这个开始:

v=data.frame(x="My Stacked Bar", y=c(1,2,3,4))

ggplot(data = v, aes(x = factor(x), y = y))+
  geom_bar(aes(fill=factor(y)), stat="identity")

【讨论】:

  • 'x=factor(x)' 代表什么?
  • 我告诉R 不要将 x 视为一个值(在这种情况下是一个可以与其他字符串进行比较的文本字符串),而是作为我的数据的一个类别(在这种情况下是唯一的类别,因此图表将只有一个堆叠条)
  • @mucio 我明白了。然而,当我使用我的数据运行代码时,我得到了未堆叠的条形图。相同的语法。它不适用于太多不同的数据点吗?
  • x 对于您想要堆叠在一起的y 值是否相同?
  • 是的,您是在告诉 ggplot 使用数据框的 x 列来定位 x 轴上的值。如果您有另一个可以使用的变量,请继续。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-22
  • 1970-01-01
  • 2018-11-09
  • 2017-10-17
相关资源
最近更新 更多