Этикетки с вращающейся осью в формате даты
Кто-нибудь знает, как вращать тики оси в формате даты с помощью ggplot2?
Я хочу получить ярлыки с "Date-Month" (например, "1985-5" ) с углом 45 ° по оси x.
образец данных:
Station Date Ptot
A 1980-02 16
A 1980-03 19
A 1980-04 40
A 1980-05 48
A 1980-06 NA
A 1980-07 18.5
A 1980-08 24.6
B 1980-07 50.8
B 1980-08 28.9
B 1980-09 32.9
B 1980-10 47.9
B 1980-11 16.3
Я пробовал это:
library(ggplot2)
library(scales)
plot <- ggplot(data=na.omit(data), aes(x=Date, y=Ptot, group=Station))+
geom_line()+
facet_grid(Station~.)+
scale_x_date(breaks = "year", labels=date_format("%Y-%m"))+
xlab("Year")+
ylab("Prec (mm)")+
labs(colour = "Station")+
theme(axis.text.x = element_text(angle = 45, hjust = 1))+
theme_bw()
plot
но это не сработает.
Спасибо!
Ответы
Ответ 1
Во-первых, вы должны сделать столбец Date
в качестве даты. Поскольку у него нет дня, вы должны добавить, например, 01 к каждой дате и преобразовать их.
data$Date<-as.Date(paste(data$Date,"-01",sep=""),format="%Y-%m-%d")
Чтобы получить правильное размещение меток под осью x, вы должны установить не только angle=
, но и hjust=1
, чтобы гарантировать, что конец метки помещен под отметкой галочки. Также theme_bw()
должен быть помещен перед спецификацией осей текста.
ggplot(data=na.omit(data), aes(x=Date, y=Ptot, group=Station))+
geom_line()+
facet_grid(Station~.)+
scale_x_date(breaks = "month", labels=date_format("%Y-%m"))+
xlab("Year")+
ylab("Prec (mm)")+theme_bw()+
theme(axis.text.x = element_text(angle = 45, hjust = 1))
![enter image description here]()