我想在9/8/2015 00:00:00
上绘制从零开始的两行。我的数据如下:
df1 <-
structure(
list(
Timestamp = structure(
c(
1441814593, 1441818193,
1441821398, 1441821449, 1441828375, 1441873127, 1441813676, 1441837436,
1441843661, 1441885583, 1441966341, 1441985621, 1442048926, 1442321691,
1442321740, 1442328339, 1442329081, 1442349761, 1442391375, 1442408140,
1442417679, 1442496854, 1442506500
), tzone = "UTC", class = c("POSIXct",
"POSIXt")
), Group = c(
1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L
)
), .Names = c("Timestamp",
"Group"), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA,-23L)
)
我基本上想要一个像group==1
和一个group==2
。另外,我想绘制垂直线on 9/11
和9/15
。在R中这样做的最佳方法是什么?现在我有这个:
library(taucharts)
df1 %>% group_by(Group) %>%
arrange(Timestamp) %>%
mutate(count = row_number()) %>%
tauchart() %>%
tau_line("Timestamp", "count", "Group") %>%
tau_legend() %>% tau_tooltip() %>%
tau_guide_x(auto_scale=TRUE, label="Timestamp", tick_format="%b %d")
这不正是我想要的。首先,我无法添加垂直线。此外,我希望这些日子不会重复。
答案 0 :(得分:1)
您可以使用ggplot2
:
library(ggplot2)
library(dplyr)
df1 <- df1 %>% group_by(Group) %>%
mutate(number = row_number())
ggplot(df1, aes(x = Timestamp, y = number, col = factor(Group))) +
geom_line() +
geom_vline(xintercept = as.numeric(c(as.POSIXct("2015-09-11 00:00:00"),
as.POSIXct("2015-09-15 00:00:00"))))