[英]how to plot timeDate using ggplot2 in R?
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需要以下美感:x
如何在ggplot中使用timeDate类?
ggplot可能不知道如何处理timeDate
类。 您只需将TimeStamp
的@Data
插槽中的值插入ggplot:
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
# ..@ Data : POSIXct[1:100], format: "1970-01-01 00:00:09" "1970-01-01 00:00:05" "1970-01-01 00:00:06" ...
# ..@ format : chr "%Y-%m-%d %H:%M:%S"
# ..@ FinCenter: chr "GMT"
str(dataset1$TimeStamp@Data)
# 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 = TimeStamp@Data, 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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.