编辑日期轴和中断

Editing date axis and breaks

我正在处理时间线,出于某种原因,我最终得到了一个或多或少随机的时间尺度。我们开始吧:

df <- data.frame(balance=c(100,242,156,430,224),
  date = as.Date(c("2017-01-03", "2017-01-14", "2017-02-03", "2017-02-17", "2017-03-02")))

我使用以下内容来绘制:

plot(balance ~ date, df, type = "l", xaxt='n', xlab = "Date", 
                                 yaxt='n', ylab = "Balance [$]", main = "Personal finance")
axis(1, df$date, format(df$date, "%b %d"), cex.axis = .7, tick = FALSE, line=-0.5)

我得到的是:

如何控制日期轴?而不是 Jan 03, Jan 14, Feb 03, Feb 17, Mar 02 我想要 Jan 01, Jan 15, Feb 01, Feb 15, Mar 01

感谢任何帮助!

您需要将这些具体日期提供给您的 axis 函数;这对你有用:

date_lab <- 
           as.Date(c("2017-01-01", "2017-01-15", "2017-02-01", "2017-02-15", "2017-03-01"))

plot(balance ~ date, df, type = "l", xaxt='n', xlab = "Date", 
                             yaxt='n', ylab = "Balance [$]", main = "Personal finance")
axis(1, date_lab, format(date_lab, "%b %d"), cex.axis = .7, tick = FALSE, line=-0.5)

如果你使用 ggplot2 它通常会使轴比基数更干净 plot:

library(ggplot2)
ggplot(df, aes(x=date, y=balance))+geom_line()+
                                   labs(title = "Personal finance",
                                        x = "Date", y="Balance [$]")