【问题标题】:How to give y axis the total number of rows of a table in ggplot stacked bar?如何在ggplot堆积条形图中给y轴表格的总行数?
【发布时间】:2020-04-17 19:36:51
【问题描述】:

我正在使用 GGPLOT 创建一个堆叠条形图,其中 y 轴应该是电影总数,x 轴应该是年份,填充应该是国家/地区。

这是我迄今为止尝试过的,但 Y 轴给出了一个不规则的数字:

ggplot(IMDB, aes(fill=country,y=nrow(IMDB), x=year)) 
 + geom_bar(position="stack", stat="identity")

表格示例:

year   country
2002   Germany
1998   USA
1955   Italy

【问题讨论】:

  • 至于您之前的问题,请按照本指南stackoverflow.com/questions/5963269/…为您的数据集提供一个可重现的示例,它会更容易为您提供帮助。
  • @dc37 但说真的,在这种情况下为什么需要数据?我的意思是,如果有人对 R 有经验,那么他肯定知道如何给 y 轴指定一个特定的长度。
  • 因为它取决于您的数据集及其结构。现在,您的y = nrow(IMDB) 意味着您将单个值传递给您的ggplot,对于任何 x 和填充值都是相同的。知道您在寻找什么似乎并不能提供真正的信息。
  • @dc37 country 包含多个值,year 包含多个值,这就是您需要知道的所有内容,我相信您可以理解我的要求。 Y轴需要是整个数据表的行数。我的桌子太大了,我不能在这里张贴。
  • 从您上次对@dc37 的回复来看,您似乎仍然无视他的善意建议,即看看如何制作一个很好的可重现示例,即使您有一个非常长的数据集。此外,对于您的问题,为什么我们需要数据或可重复的示例,这是因为 SO 是一个适合所有人的学习平台,可重复的示例将帮助将来可能与您有相同问题的其他人了解他们如何应用解决方案他们的情况。不是因为“有 R 经验的人肯定知道如何给 y 轴指定一个特定的长度”。这就是我们所有人的学习方式。

标签: r ggplot2 bar-chart stacked-chart


【解决方案1】:

不妨试试:

ggplot(IMDB, aes(fill=country, x=year)) 
 + geom_bar(position="stack")

geom_bar 将提供每个国家/地区每年的电影数量。

这是你要找的吗?

【讨论】:

  • 完全匹配!即使没有数据,您也可以提供帮助;)
  • 我会用数据更快地弄清楚。就个人而言,当我没有看到任何可以在我的 R 会话上尝试的可重现数据时,我碰巧不会停止发帖。在我看来,它不仅可以帮助您,而且还可以帮助那些遇到几乎类似问题的访问 SO 的人。也许通过查看数据的结构和最终的图形结果,它可以帮助我们弄清楚它是否是他们正在寻找的东西。不管怎样,很高兴这个答案就是你要找的。​​span>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-27
  • 2021-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多