2015-05-20 13 views
5

Próbowałem drukować miesiące na osi X za pomocą ggplot2, ale nazwy miesięcy są automatycznie wyświetlane jako liczby liczbowe z liczbami dziesiętnymi. Jak zmusić skrypt do wykreślania nazw miesięcy z liczb? Użyłem tego kodu:Jak używać nazwy miesiąca na osi X w ggplot2

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

danych znajduje się poniżej:

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

Odpowiedz

5

można również użyć 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)  
Powiązane problemy