我已经从Twitter用户那里下载了时间轴,并尝试显示一段时间内的推文数量。我正在使用rtweets ts_plot。现在,我试图在图形中添加一条垂直线。据我所知,ts_plot允许您像正常的ggplot一样使用它。因此,我尝试了ggplot2的geom_vline:
这是我的代码:
zanetti <- get_timeline("@zac1967", n=3200)
ts_plot(zanetti, "days") +
theme_bw() +
xlab("") +
ylab("# of tweets/day") +
geom_vline( aes(xintercept = "2019-03-21 00:00:00 UTC"))
但是,我收到此错误消息:
no applicable method for 'rescale' applied to an object of class "character"
所以我尝试了相同的代码,但是在最后一行添加了as.numeric:
ts_plot(zanetti, "days") +
theme_bw() +
xlab("") +
ylab("# of tweets/day") +
geom_vline( aes(xintercept = as.numeric("2019-03-21 00:00:00 UTC")))
这会导致以下错误消息:
Warning messages:
1: In FUN(X[[i]], ...) : NAs introduced by coercion
2: Removed 53 rows containing missing values (geom_vline).
答案 0 :(得分:0)
首先,由于不需要映射到列名,因此不需要使用aes()
。
ts_plot
的x轴刻度是日期时间刻度,因此您需要相应地转换值。这样的事情应该起作用:
+ geom_vline(xintercept = as.POSIXct("2019-03-21 00:00:00", tz = "UTC"))