【问题标题】:Two line graphs in the same plot in RR中同一图中的两个折线图
【发布时间】:2020-09-01 08:08:52
【问题描述】:

我有一个大数据框。我试图在与折线图相同的图中绘制 2 个不同年份的销售额,以显示每个月 2 年的变化。在获得以下数据框之前,我已经完成了一系列的分组和过滤。 Dataframe 有 3 列(月、销售额和年)

当我试图将不同年份的销售额绘制为:

ggplot(df,aes(x=month.sales,y=sales/100000,color=year)) + 
  geom_line()

我得到一个带有 x 和 y 标签的空白图,而如果我绘制一个柱形图,它就可以工作。 请帮忙。 谢谢

【问题讨论】:

  • 这可能与您的列的类别有关(我的猜测是 month.sales 是您数据框中的一个因素)。
  • 为什么这个问题被标记为python?您可以发布示例数据吗?请使用dput(df) 的输出编辑问题。或者,如果 dput(head(df, 20)) 的输出太大。
  • @maarvd... 谢谢,我检查了,是的,month.sales 是一个分解列。如何进一步获得所需的情节?我是一个完整的初学者....请指导

标签: r ggplot2


【解决方案1】:

我猜你的数据看起来像这样:

set.seed(69)

df <- data.frame(month.sales = factor(rep(month.abb, 2), month.abb),
                 year = rep(2018:2019, each = 12),
                 sales = runif(24, 1, 2) * 100000)

df
#>    month.sales year    sales
#> 1          Jan 2018 114570.1
#> 2          Feb 2018 123197.1
#> 3          Mar 2018 166092.7
#> 4          Apr 2018 163214.1
#> 5          May 2018 109486.6
#> 6          Jun 2018 131429.8
#> 7          Jul 2018 167363.6
#> 8          Aug 2018 191097.6
#> 9          Sep 2018 127427.4
#> 10         Oct 2018 145360.1
#> 11         Nov 2018 134577.1
#> 12         Dec 2018 169486.6
#> 13         Jan 2019 168493.2
#> 14         Feb 2019 147552.5
#> 15         Mar 2019 139811.3
#> 16         Apr 2019 156351.2
#> 17         May 2019 199368.3
#> 18         Jun 2019 130953.6
#> 19         Jul 2019 148150.5
#> 20         Aug 2019 166307.3
#> 21         Sep 2019 121830.8
#> 22         Oct 2019 101838.1
#> 23         Nov 2019 109716.9
#> 24         Dec 2019 125407.9

在这种情况下,您可以像这样绘制线图:

library(ggplot2)

ggplot(df, aes(x = month.sales, y = sales / 100000, 
               color = factor(year), group = factor(year))) + 
  geom_line()

请注意,您需要添加 group 美学,以便 ggplot 不会根据 x 轴上的因子水平自动对数据点进行分组。

【讨论】:

  • 是的,数据看起来像这样。我尝试了这段代码,它以某种方式工作。但是,2018 年的销售记录从 9 月左右开始。我得到的情节在 x 轴上随机标记了月份,还有一个标签为 NA。这可能是什么原因?。我检查了 month.due 列,在这个 ggplot 操作之后它有很多 NA 条目......
  • @SurbhiMishra 我不知道month.due 列是什么,因为您的问题中没有包含任何数据。 ggplot 操作根本不会影响您的数据框,因此它不会将任何 NA 值引入您的数据框,而这些值尚不存在。我不知道您的月份列的格式是什么(是数字还是单词?)但顺序可能是按字母顺序排列的,因此您需要确保正确排序级别以使它们以正确的顺序排列。如果您不编辑问题以包含您的数据,我无法告诉您该怎么做。
猜你喜欢
  • 2021-10-31
  • 1970-01-01
  • 1970-01-01
  • 2011-02-03
  • 2021-08-05
  • 1970-01-01
  • 1970-01-01
  • 2021-09-28
相关资源
最近更新 更多