我想用ggplot绘制一段时间内的2个变量。其中一个变量包含NAs。我想在不丢失另一个变量的值的情况下从图中删除NAs。现在,ggplot在y轴顶部的一条线上绘制所有NAs。
我试着使用过滤器函数,但是ggplot抱怨说行不匹配:
cov_vs_no_scent_share_plot = cov_vs_no_scent_share %>%
gather(key,value,no_scent_share , new_cases) %>%
filter(!is.na(cov_vs_no_scent_share_plot$no_scent_share)) %>%
ggplot(aes(x=Date, y=value, colour=key))
数据框的结构如下:
覆盖与无气味份额:
Date, new_cases, no_scent_share
2019-01-01, 1, 0.5
2019-01-02, 3, NA
2019-01-03, 5, 0.2
2019-01-04, 2, NA
2019-01-05, 1, 0.1
2019-01-06, 9, NA
...
我希望x轴代表日期,y轴代表“new cases”和“no_scent_share”。
1条答案
按热度按时间laik7k3q1#
一种方法是使用rug图,在没有可重复的例子的情况下,让我们使用内置的
mtcars
数据集。假设我们想绘制
wt
与mpg
的关系图,但我们没有wt
大于4的任何汽车的mpg
测量值:如果我们想指出所有汽车都有
wt
,但其中一些没有mpg
的值,我们可以沿着x轴添加一个geom_rug
,这将显示wt
的所有值,即使mpg
的数据丢失: