R 第一个和最后一个带有刻度盘x日期的记号的规范

R 第一个和最后一个带有刻度盘x日期的记号的规范,r,ggplot2,R,Ggplot2,我希望能够指定由ggplot2生成的绘图中出现的第一个和最后一个记号,但会遇到一些问题。下面是一些代码 #Produce a vector of days dateVec <- seq(from = as.Date("2011-11-21"), to = as.Date("2012-11-23"), by = "days") #Some random values myData <- rnorm(length(dateVec)) # Plot it qplot(dateVec,

我希望能够指定由ggplot2生成的绘图中出现的第一个和最后一个记号,但会遇到一些问题。下面是一些代码

#Produce a vector of days 
dateVec <- seq(from = as.Date("2011-11-21"), to = as.Date("2012-11-23"), by = "days")

#Some random values
myData <- rnorm(length(dateVec))

# Plot it
qplot(dateVec, myData) + 
    scale_x_date(breaks = "4 weeks", limits = c(min(dateVec), max=max(dateVec))) + 
    theme(axis.text.x = element_text(size = 10, angle = 45, colour = "black",
          vjust = 1, hjust = 1))
#生成天数向量

dateVec为确保轴未展开,您可以将参数
expand=c(0,0)
添加到
缩放x_date()

更新 如果您需要以最短和最长日期开始的刻度,那么您可以定义自己的中断。为此,我制作了vector
break.vec
,其中包含最小和最大日期以及它们之间的月份日期。然后使用此向量在
缩放x\u日期()
中设置断点


break.vec谢谢。我也试过了,但仍然无法得到我想要的。我更关心的是最后一个记号显示为max(dateVec)。您可以在示例中看到,最后一个记号出现在2012-11-19,但不是dateVec向量中的最后一个值@jason.p.pickering如果设置breaks=“4周”,则无法将最后一个勾号设置为2012-11-23,因为此日期和第一个日期之间的差值不是4周的倍数。如果你想看到这两个日期,那么你必须自己休息。
qplot(dateVec, myData) + 
scale_x_date(breaks = "4 weeks", limits = c(min(dateVec), max = max(dateVec)),
             expand=c(0,0)) +  
theme(axis.text.x  = element_text(size = 10, angle = 45, colour = "black",
      vjust = 1, hjust = 1))
break.vec <- c(as.Date("2011-11-21"),
               seq(from = as.Date("2011-12-01"), to = as.Date("2012-11-01"),
                 by = "month"),
               as.Date("2012-11-23"))

qplot(dateVec, myData) + 
  scale_x_date(breaks = break.vec) +  
  theme(axis.text.x = element_text(size = 10, angle = 45, colour = "black",
                                   vjust = 1, hjust = 1))