Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.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
R 在比例x日期时间中设置日期中断时保留第一个和最后一个中断标签_R_Ggplot2 - Fatal编程技术网

R 在比例x日期时间中设置日期中断时保留第一个和最后一个中断标签

R 在比例x日期时间中设置日期中断时保留第一个和最后一个中断标签,r,ggplot2,R,Ggplot2,虚拟数据: library(tidyverse) df<-tibble(datetime=seq(as.POSIXct("2019-10-01 12:00:00"),as.POSIXct("2020-10-01 12:00:00"), by="15 min"),value=rnorm(35137,22,sd=1)) %>% mutate(period=case_when( datetime>=&

虚拟数据:

library(tidyverse)

    df<-tibble(datetime=seq(as.POSIXct("2019-10-01 12:00:00"),as.POSIXct("2020-10-01 12:00:00"), by="15 min"),value=rnorm(35137,22,sd=1)) %>% 
  mutate(period=case_when(
    datetime>="2019-10-01" & datetime<="2019-12-31" ~ "Oct 1-Dec 31, 2019",
    datetime>"2019-12-31" & datetime<="2020-03-31" ~ "Jan 1-Mar 31, 2020",
    datetime>"2020-03-31" & datetime<="2020-06-30" ~ "Apr 1-Jun 30, 2020",
    datetime>"2020-06-30" & datetime<="2020-10-01" ~ "July 1-Sept 30, 2020"),
    period=factor(period,levels = c("Oct 1-Dec 31, 2019","Jan 1-Mar 31, 2020","Apr 1-Jun 30, 2020","July 1-Sept 30, 2020")))


plots<- map(.x = unique(df$period), ~ df %>% 
                     dplyr::filter(period == .x) %>% 
                     ggplot()+
                     geom_point(aes(x=datetime,y=value),fill="blue")+
                     scale_x_datetime(date_labels = "%b-%d-%Y",
                                      date_breaks = "2 weeks",
                                      expand = c(0,0)))


plots[[1]]
库(tidyverse)
df%
突变(周期=情况)(
日期时间>=“2019-10-01”和日期时间“2019-12-31”和日期时间“2020-03-31”和日期时间“2020-06-30”和日期时间%
ggplot()+
几何点(aes(x=日期时间,y=值),fill=“蓝色”)+
缩放日期时间(日期标签=“%b-%d-%Y”,
date_breaks=“2周”,
expand=c(0,0)))
绘图[[1]]
我正在制作多个绘图,并希望概括脚本,以开始和结束x轴标签以及每组的第一个和最后一个记录。我希望从2019年10月1日开始每两周有一个标签。当我使用时,我使用
date\u breaks
它会删除第一个和最后一个标签,设置限制不起作用。我不想使用t手动调整标签,因为每个时段都有不同的标签

当我删除
展开
日期\u中断
时,会导致:
scale\u x\u datetime(日期标签=“%b-%d-%Y”)

这是我得到的,但它是按月计算的,而不是每两周计算一次:


那么,根据答案,解决方法就是将中断次数增加到所需的数量:

库(tidyverse)
df%
突变(周期=情况)(
日期时间>=“2019-10-01”和日期时间“2019-12-31”和日期时间“2020-03-31”和日期时间“2020-06-30”和日期时间%
ggplot()+
几何点(aes(x=日期时间,y=值),fill=“蓝色”)+
缩放日期时间(日期标签=“%b-%d-%Y”,
断开=缩放::漂亮的断开(n=10),
扩展=c(0.1,0)))
绘图[[1]]

设置
expand=c(0.1,0)
对你来说足够好吗?在这种情况下,第一个标签将是2019年9月30日,而不是2019年10月1日。很有趣,但不太有趣,我需要它来匹配其他数字并从水年开始。