如何在 ggplot2 中移动 x 轴的刻度(以年为单位的日期)?
How to move the ticks of x axis (date in years) in ggplot2?
我想检查 df data.frame
中变量 a
每年的箱线图。我使用下面的代码创建了 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"))
我得到了这个数字
x 轴上的年份显示在箱线图前后。如何将 x 轴的刻度和 axis.text 与箱线图对齐?
您可以将日期分隔符设置在每年的中间:
scale_x_date(breaks = seq(as.Date("1990-06-30"), as.Date("2015-06-30"), by="1 year"),
labels = date_format("%Y"))
我想检查 df data.frame
中变量 a
每年的箱线图。我使用下面的代码创建了 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"))
我得到了这个数字
x 轴上的年份显示在箱线图前后。如何将 x 轴的刻度和 axis.text 与箱线图对齐?
您可以将日期分隔符设置在每年的中间:
scale_x_date(breaks = seq(as.Date("1990-06-30"), as.Date("2015-06-30"), by="1 year"),
labels = date_format("%Y"))