我正在尝试从ggplot2图形中消除多个间隙。我的数据跨度为1982年至2019年,但是我没有1989年至2006年以及2012年至2014年的数据。由于年跨度如此之大,我想“删减”我没有数据的年份。我希望我的x轴看起来像是一个时间轴,带有一个花样来表示缺少的年份。请参阅以下我的字形含义(抱歉,我不确定该技术术语)。
在R中使用ggplot2可以做到这一点吗?如果不是,是否有办法至少从图表中删除这些年份(即x轴在1988年有一个休止点,在2007年又有一个休止点)?
更新:@ eipi10添加了构面示例,因为该问题的答案已关闭。您可以通过创建分组变量来标记每组连续年份来绘制年份范围的单独面板。例如:
library(tidyverse)
# Fake example data
dat = tibble(year=c(1982:1988,2007:2011,2015:2019),value=1:length(year))
dat %>%
# Create grouping variable for faceting
mutate(year_group_tmp = c(0,cumsum(diff(year) > 1))) %>%
group_by(year_group_tmp) %>%
mutate(year_group = paste(range(year),collapse=" - ")) %>%
ggplot(aes(year,value)) +
geom_line() +
facet_grid(. ~ year_group,scales="free_x",space="free_x")