rotating axis labels in date format

ggplot2, r

Solution

First, you should make column `Date` as date. As it do not have the day provided, you should add for example 01 to each date and convert them.

data$Date<-as.Date(paste(data$Date,"-01",sep=""),format="%Y-%m-%d")

To get correct placement of labels under x axis you should set not just `angle=` but also `hjust=1` to ensure that end of the label is placed under the tick mark. Also `theme_bw()` should be placed before theme specification of axis texts.

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))

Problem

does anyone know how to rotate axis ticks in the date format with ggplot2? I want to get labels with "Date-Month" (ex. "1985-5") with a 45° angle on the x axis. data sample: ``` 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 ``` I tried this: ``` 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 ``` but it doesn't work. Thanks!

Original source

Related problems