如何在ggplot2中移动x轴的刻度(以年为单位的日期)?

时间:2016-02-16 02:03:01

标签: r ggplot2 boxplot

我想查看a中变量df data.frame每年的箱图。我使用下面的代码创建了data.frame

set.seed(123)
date <- as.Date(seq(as.Date("1990-01-01"), as.Date("2015-12-31"), by = 1), format="%Y-%m-%d")
a <- runif(9496, 3000, 120000)
df <- data.frame(date, a)
df[c(1:151,9313:9496), 2]<-NA

并使用此代码

library(ggplot2)
ggplot(df, aes(x=date, y=a, group=years(date)))+
  geom_boxplot()+
  scale_x_date(breaks = date_breaks("1 year"),
               labels = date_format("%Y"))

我得到了这个数字

enter image description here

x轴上的年份显示在箱线图之前和之后。如何将x轴和axis.text的刻度与箱线图对齐?

1 个答案:

答案 0 :(得分:1)

您可以将日期中断设置为每年中间:

  scale_x_date(breaks = seq(as.Date("1990-06-30"), as.Date("2015-06-30"), by="1 year"),
               labels = date_format("%Y"))