2011-07-18 93 views
4

我有以下的數據,我試圖創建R A barplot與具有日期值相關更改爲了與x軸的日期

conv = c(10, 4.76, 17.14, 25, 26.47, 37.5, 20.83, 25.53, 32.5, 16.7, 27.33) 
click = c(20, 42, 35, 28, 34, 48, 48, 47, 40, 30, 30) 

dat <- data.frame(date=c("July 7", "July 8", "July 9", "July 10", "July 11", "July 12", "July 13", 
         "July 14", "July 15", "July 16", "July 17"), click=c(click), conv=c(conv)) 
dat 

值。但是GGPLOT2,當我運行以下命令,條形圖的順序不正確。

library(ggplot2) 
ggplot(dat, aes(date, conv)) + geom_bar(fill="#336699") + ylim(c(0,50)) + 
     opts(title="") + 
     opts(axis.text.y=theme_text(family="sans", face="bold", size=10)) + 
     opts(axis.text.x=theme_text(family="sans", face="bold", size=8)) + 
     opts(plot.title = theme_text(size=15, face="bold")) + 
     xlab("") + ylab("") 

變量日期是否正確下令從7月7日至7月17日,不知道爲什麼GGPLOT2有問題與此有關。有沒有快速的功能來解決這個問題,而不必重新排序原始數據集中的數據。

+2

我注意到你已經接受一個答案,不實際工作。哪一個是你的特權,但它實際上並不能激勵任何人發佈正確的答案。 – Andrie

+0

當然,答案是錯誤的,但它指出我正確的解決方案。因此,這是有幫助的。 – ATMathew

+1

僅僅因爲它指出你正確的解決方案並不意味着它會爲其他人做同樣的事情。 –

回答

4

你的排序順序不起作用的原因是你有一個字符串,而不是日期。你最好的選擇是你的日期轉換成日期格式:

dat$date <- as.Date(paste(dat$date, "2011"), format="%b %d %Y") 

ggplot(dat, aes(as.character(date), conv)) + geom_bar(fill="#336699") + 
    ylim(c(0,50)) + 
    opts(title="") + 
    opts(axis.text.y=theme_text(family="sans", face="bold", size=10)) + 
    opts(axis.text.x=theme_text(family="sans", face="bold", size=8, angle=90)) + 
    opts(plot.title = theme_text(size=15, face="bold")) + 
    xlab("") + ylab("") 

enter image description here