ggplot中的错误在R中

时间:2012-12-12 09:50:05

标签: r error-handling ggplot2

我想使用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

1 个答案:

答案 0 :(得分: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")