ggplot2每组仅包含一个观察值-在一张图上绘制两条线[重复]

Posted

技术标签:

【中文标题】ggplot2每组仅包含一个观察值-在一张图上绘制两条线[重复]【英文标题】:ggplot2 each group consists of only one observation-plotting two lines on one graph [duplicate] 【发布时间】: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

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

【问题讨论】:

【参考方案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"))

【讨论】:

以上是关于ggplot2每组仅包含一个观察值-在一张图上绘制两条线[重复]的主要内容,如果未能解决你的问题,请参考以下文章

python 将多个数据图绘制到一张图上

在一张图中绘制多个 pandas 数据框

python在一张图上画多个线条

Matlab怎么在一张图上画两条曲线?

空间矢量7段法画在一张图上

MATLAB在一张图上画出多条曲线