2012-12-12 118 views
1

我想用ggplot繪製R中的時間序列數據,但我已經碰到這樣的錯誤:錯誤ggplot就R

Error in continuous_scale(aesthetics, "date", identity, breaks = breaks, : 
unused argument(s) (format = "%b-%Y") 

語法:

ggplot(p29, aes(dt, ambtemp)) + geom_line() + 
    scale_x_date(format = "%b-%Y") + xlab("") + ylab("Tempreture") 

文件名:p29

ambtemp     dt surtemp 
1 -1.14 2007-09-29 00:01:57 -2.712 
2 -1.12 2007-09-29 00:03:57 -2.775 
3 -1.33 2007-09-29 00:05:57 -2.712 
4 -1.44 2007-09-29 00:07:57 -2.837 
5 -1.54 2007-09-29 00:09:57 -2.775 
6 -1.29 2007-09-29 00:11:57 -2.900 

回答

2

在功能scale_x_date()你應該寫labels=date_format("%b-%Y")。列dt也應格式化爲Date

library(scales) 
p29$dt=as.Date(p29$dt, format="%Y-%m-%d %H:%M:%S")  
ggplot(p29, aes(dt, ambtemp)) + geom_line() + 
scale_x_date(labels=date_format ("%b-%Y")) + xlab("") + ylab("Tempreture") 

要顯示小時和分鐘,而不是函數scale_x_date()你應該使用scale_x_datetime()labels=date_format("%H:%M")。使用控制中斷參數breaks=date_breaks()。列dt也應格式化爲POSIXt

library(scales) 
p29$dt=strptime(p29$dt, "%Y-%m-%d %H:%M:%S") 
ggplot(p29, aes(dt, ambtemp)) + geom_line() + 
scale_x_datetime(breaks = date_breaks("5 min"),labels=date_format("%H:%M")) + xlab("") + ylab("Tempreture") 
+0

它呈現幾乎是直的,沒有波動。我如何修改它以靈敏地呈現波動? –

+0

您能說出您想要在x軸上看到什麼 - 月,日或小時,您的數據是否只包含一個日期(2007-09-29)或幾個日期? –

+0

我的數據只包含2007/09/29,我只想看看x軸上的小時數 –