2016-11-17 5 views
0
library(timeDate) 
library(ggplot2) 
library(ggrepel) 

dataset1$TimeStamp <- timeDate(dataset1$TimeStamp, format = "%Y/%m/%d %H:%M:%S", zone = "GMT", FinCenter = "GMT") 

p1 <- ggplot(dataset1, aes(x = TimeStamp, y = y1)) 

p1 + 
geom_point() + 
geom_text_repel(aes(label = Label1), size = 3) 

通知: 上記のコードを実行すると、次のように表示されます。 timeDate型のオブジェクトの縮尺を自動的に選択する方法がわかりません。デフォルトは連続です。 エラー:geom_pointには、次の不足する美学が必要です。xRでggplot2を使ってtimeDateをプロットする方法は?

ggplotでtimeDateクラスを使用するには?

答えて

0

おそらく、ggplotはtimeDateクラスの処理方法を知らないでしょう。あなたは、単にggplotためにあなたのTimeStamp@Dataスロットから値をプラグインすることができます

dataset1 <- data.frame(TimeStamp = sample(1:100,50,replace = T), 
         y1=sample(1:50,50,replace=T), 
         Label1 = sample(LETTERS[1:5],50,replace=T) 
         ) 
dataset1$TimeStamp <- timeDate(dataset1$TimeStamp, 
           format = "%Y/%m/%d %H:%M:%S", 
           zone = "GMT", 
           FinCenter = "GMT" 
           ) 
str(dataset1$TimeStamp) 

# Formal class 'timeDate' [package "timeDate"] with 3 slots 
# [email protected] Data  : POSIXct[1:100], format: "1970-01-01 00:00:09" "1970-01-01 00:00:05" "1970-01-01 00:00:06" ... 
# [email protected] format : chr "%Y-%m-%d %H:%M:%S" 
# [email protected] FinCenter: chr "GMT" 

str([email protected]) 

# Dates in POSIXct format are storred in @Data slot 
# POSIXct[1:100], format: "1970-01-01 00:00:09" "1970-01-01 00:00:05" "1970-01-01 00:00:06" "1970-01-01 00:00:04" ... 

ggplot(dataset1, aes(x = [email protected], y = y1, colour = Label1)) + 
    geom_point() + 
    geom_text_repel(aes(label = Label1, colour = Label1), size = 3) + 
    theme_dark() + 
    labs(x="Time Stamp", y = "Value") + 
    scale_colour_discrete(guide = F) 

enter image description here

関連する問題