如何告诉ggplot避免绘制丢失的日期

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何告诉ggplot避免绘制丢失的日期相关的知识,希望对你有一定的参考价值。

嗨,我有这样的数据:

> x
       value       Date
14 -2.224791 2000-01-31
15 -2.203189 2000-04-30
16 -2.216392 2000-07-31
17 -2.259517 2000-10-31
18 -2.252137 2001-01-31
19 -2.200599 2015-01-31
20 -2.229062 2015-04-30
21 -2.258825 2015-07-31
22 -2.288452 2015-10-31
> ggplot(x,aes(x=Date,y=value))+geom_line()

在试图绘图时,ggplot正在推断缺失日期,即2001年至2015年之间。我怎样才能告诉ggplot不绘制不可用的值? enter image description here

答案
library(tidyverse)

value = c(-2.224791, -2.203189, -2.216392, -2.259517, -2.252137, -2.200599, -2.229062, -2.258825, -2.288452)
date = as.Date(c("2000-01-31","2000-04-30","2000-07-31","2000-10-31","2001-01-31","2015-01-31","2015-04-30","2015-07-31","2015-10-31"))
data = data.frame(value,date)

data_2001 = data %>%
  filter(date <= "2001-12-31")

data_2015 = data %>%
  filter(date >= "2015-01-01")

plot = ggplot() +
  geom_line(data = data_2001
            , aes(x=date,y=value)) +
  geom_line(data = data_2015
            , aes(x=date,y=value))

print(plot)

enter image description here

以上是关于如何告诉ggplot避免绘制丢失的日期的主要内容,如果未能解决你的问题,请参考以下文章

在ggplot中绘制每月时间序列时出错

ggplot2使用单独的日期和可变数据帧按日期绘制时间序列r

如何将 r ggplot 图存储为 html 代码片段

使用 ggplot 在折线图中仅绘制 x 轴上的日期向量的值

使用ggplot绘制时导入库存数据问题

用单独的线型在 ggplot2 中绘制缺失值