1

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
4

1 に答える 1

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")
于 2012-12-12T10:06:20.197 に答える