Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有非连续时间序列的x轴日期的R移位刻度_R_Date_Ggplot2 - Fatal编程技术网

具有非连续时间序列的x轴日期的R移位刻度

具有非连续时间序列的x轴日期的R移位刻度,r,date,ggplot2,R,Date,Ggplot2,我有连续两年(2017-2018)的时间序列数据,从每年的1月到12月。然后我需要绘制从9月17日到4月18日的数据 我可以用一个非常手工制作的代码来完成这项工作,但是我意识到,使用今天可用的用于管理绘图日期的软件包(软件包“scales”、“lubridate”等)可以非常简单地完成这项工作 有人能帮我简化做第二个情节的工作吗? 我会非常感激的 suppressWarnings(suppressMessages(库(“tidyverse”,悄悄地=T))) dat% 突变(年=润滑油::年(日

我有连续两年(2017-2018)的时间序列数据,从每年的1月到12月。然后我需要绘制从9月17日到4月18日的数据

我可以用一个非常手工制作的代码来完成这项工作,但是我意识到,使用今天可用的用于管理绘图日期的软件包(软件包“scales”、“lubridate”等)可以非常简单地完成这项工作

有人能帮我简化做第二个情节的工作吗? 我会非常感激的

suppressWarnings(suppressMessages(库(“tidyverse”,悄悄地=T)))
dat%
突变(年=润滑油::年(日期),
月份=润滑油:月份(日期),
朱利安=lubridate::yday(日期))
dat
#>#A tible:730 x 5
#>日期变量年份月份julian
#>             
#>  1 2017-01-01 12.9   2017     1      1
#>  2 2017-01-02  6.69  2017     1      2
#>  3 2017-01-03  6.11  2017     1      3
#>  4 2017-01-04  1.68  2017     1      4
#>  5 2017-01-05  1.22  2017     1      5
#>  6 2017-01-06 10.2   2017     1      6
#>  7 2017-01-07  5.13  2017     1      7
#>  8 2017-01-08  4.61  2017     1      8
#>  9 2017-01-09  3.79  2017     1      9
#> 10 2017-01-10  1.11  2017     1     10
#>#…还有720行
dat%>%
ggplot()+
geom_线(aes(朱利安,var,颜色=因子(月),线型=因子(年)))

dat%>%
过滤器((年==2017年和月份百分比,单位为%c(“9”、“10”、“11”、“12”))|
(年==2018年和月份百分比,单位为%c(“1”、“2”、“3”))%>%
变异(朱利安•阿兹=ifelse(朱利安>=244,朱利安-243,朱利安+123))%>%
ggplot()+
geom_线(aes(julian_AWS,var,颜色=系数(月),线型=系数(年)))+
比例x连续(断开=c(1,#S
31#O
61#N
91#D
121#E
151#F
181),#M
标签=c(“九月”、“十月”、“十一月”、“十二月”、“一月”、“二月”、“三月”)+
主题(axis.text.x=element\u text(hjust=-1))


创建于2019-05-05,由(v0.2.1)

我认为您不需要深入研究儒略日期格式。看看这是否能满足您的需求:

dat %>%
filter(date >= '2017-09-01', date < '2018-04-01') %>% 
ggplot() +
  geom_line(aes(date, var, color = factor(month), linetype = factor(year))) +
  scale_x_date(date_breaks = "1 month", date_labels = "%b") +
  theme(axis.text.x = element_text(hjust = -1))

dat%>%
过滤器(日期>='2017-09-01',日期<'2018-04-01')%>%
ggplot()+
geom_线(aes(日期、变量、颜色=因子(月)、线型=因子(年)))+
缩放日期(日期间隔=“1个月”,日期标签=“%b”)+
主题(axis.text.x=element\u text(hjust=-1))


有关日期标签格式的更多信息,请参见
?strftime

是的,你是对的,现在我想我没有问正确的问题。因为我想用它来重叠2017-2018年的每日平均温度,超过40年的时间序列平均温度。然后,我将无法通过这种方式过滤平均时间序列数据。也许我会问一个新问题。我非常感谢你能看看这个新问题: