How to use month name on x axis in ggplot2

I tried to plot the months along the x axis using ggplot2 , but the month names are automatically displayed as numeric numbers with decimal places. How can I make the script draw the names of the months with numbers? I used this code:

 ggplot(df3, aes(x = month, y = PM)) + geom_line(aes(col = factor(travel))) + xlab("Month") + ylab(expression(paste("PM(",mu,"g/", m^3,")", sep=""))) 

The data is given below:

 dput(df3) structure(list(month = c(9, 10, 9, 10, 1, 2, 3, 4, 5, 9, 10, 1, 2, 3, 4, 5, 9, 10, 11, 12, 1, 2, 3, 4, 5, 11), travel = c("Diesel bus", "Diesel bus", "Diesel bus", "Diesel bus", "Diesel bus", "Diesel car", "Diesel car", "Diesel car", "Diesel car", "Diesel car", "Bicycle", "Bicycle", "Bicycle", "Bicycle", "Bicycle", "Gasoline car", "Gasoline car", "Gasoline car", "Gasoline car", "Gasoline car", "Elcectric bus", "Elcectric bus", "Elcectric bus", "Elcectric bus", "Elcectric bus", "Elcectric bus"), PM = c(22.6496512922918, 18.1829352554303, 28.776408085308, 30.1441935430254, 23.8938954711914, 21.8288997171693, 22.7177263732526, 29.8606175809457, 30.530998468399, 30.1288699182287, 28.4038889338888, 19.4761033463478, 18.9449487406838, 20.3568456145256, 16.5431814479828, 12.8668955993652, 21.6255497367427, 21.8725590587368, 14.7631275227865, 12.5790810203552, 15.1794028663635, 19.3508881492176, 15.895525373979, 15.3945024820964, 15.5982689292758, 12.1219868087769 )), .Names = c("month", "travel", "PM"), row.names = c(NA, -26L ), class = "data.frame") 
+5
source share
1 answer

you can also use scale_x_discrete

 ggplot(df3, aes(x=month, y=PM)) + geom_line(aes(col = factor(travel)))+ xlab("Month")+ ylab (expression(paste("PM(",mu, "g/", m^3,")", sep=""))) + scale_x_discrete(labels=month.abb) 
+5
source

All Articles