【问题标题】:ggplot2 each group consists of only one observation-plotting two lines on one graph [duplicate]ggplot2每组仅包含一个观察值-在一张图上绘制两条线[重复]
【发布时间】:2021-11-20 03:40:36
【问题描述】:

这里是初学者 R 用户。我正在尝试使用以下数据框绘制两条简单的线:

date_of_case <- c("7/12/2020", "7/13/2020", "7/14/2020", "7/15/2020", "7/16/2020", "7/17/2020", "7/18/2020", "7/19/2020", "7/20/2020", "7/21/2020", "7/22/2020", "7/23/2020", "7/24/2020", "7/25/2020", "7/26/2020", "7/27/2020", "7/28/2020", "7/29/2020", "7/30/2020", "7/31/2020", "8/01/2020", "8/02/2020", "8/03/2020")
Masked <- c(25, 23, 20, 20.5, 20, 20, 20.5, 20, 20.5, 21.25, 20, 20, 20.5, 19, 20.5, 18, 16, 16, 16, 16, 16, 16, 16)
NoMask <- c(9.5, 9, 9, 10, 10, 10, 9.5, 9.5, 9, 9, 9, 9, 9.5, 10, 10, 10, 9.5, 9.5, 10, 9, 9, 9, 9)
df <- data.frame(date_of_case, Masked, NoMask)

然后我想在我的日期向量(x 美学)上同时绘制 Masked 和 Unmasked 向量(y 美学)。我这样做如下:

ggplot(df, aes(x=date_of_case)) +
  geom_line(aes(y=Masked, colour="Masked")) +
  geom_line(aes(y=NoMask, colour="NoMask"))

不幸的是,我不断收到此错误消息:“geom_path:每个组仅包含一个观察值。您需要调整组审美吗?”

当我用 geom_point 替换 geom_line 时,效果很好(见下文)。enter image description here

如果这对大多数人来说似乎微不足道,请提前致谢并道歉。

【问题讨论】:

    标签: r dataframe ggplot2


    【解决方案1】:

    您需要在aes 中添加group = 1

    ggplot(df, aes(x=date_of_case, group = 1)) +
      geom_line(aes(y=Masked, colour="Masked")) +
      geom_line(aes(y=NoMask, colour="NoMask"))
    

    【讨论】:

      猜你喜欢
      • 2021-11-11
      • 1970-01-01
      • 1970-01-01
      • 2021-08-31
      • 1970-01-01
      • 1970-01-01
      • 2022-01-19
      • 2015-01-20
      相关资源
      最近更新 更多