如何解决R可视化-创建甘特图
我目前正在使用提供的数据来处理项目:
TASK_ID START_TIME STOP_TIME PERSON_ID TASK_GROUP
1123947 8/3/20 13:35 8/3/20 13:36 0 1
2343946 8/3/20 13:35 8/3/20 13:38 2 3
5123945 8/3/20 13:32 8/3/20 13:34 2 1
3982344 8/3/20 13:32 8/3/20 13:35 4 2
3921343 8/3/20 13:30 8/3/20 13:32 4 1
3981232 8/3/20 13:29 8/3/20 13:30 4 6
3985423 8/3/20 13:27 8/3/20 13:35 7 1
3983432 8/3/20 13:26 8/3/20 13:35 0 1
3983234 8/3/20 13:26 8/3/20 13:35 3 4
3981230 8/3/20 13:23 8/3/20 13:35 6 1
3983407 8/3/20 13:21 8/3/20 13:29 4 4
3983936 8/3/20 13:20 8/3/20 13:32 2 1
3983213 8/3/20 13:20 8/3/20 13:27 7 3
3921432 8/3/20 13:19 8/3/20 13:20 2 1
3983567 8/3/20 13:19 8/3/20 13:26 0 5
每个任务的开始时间和结束时间,任务所属的组以及对应的人员。
如何在ggplot2中创建甘特图?看来没有参数可以这样做。
解决方法
这是我的努力。
a
,
如果您不受ggplot2
的束缚并希望进行交互式使用:建议您使用timevis
库。
将数据与代码结合使用,如下所示:
library(timevis)
library(tidyverse)
df <- tribble(
~ASK_ID,~START_TIME_date,~START_TIME_hour,~STOP_TIME_date,~STOP_TIME_hour,~PERSON_ID,~TASK_GROUP,3983947,"8/3/20","13:35","13:36",100,1,3983946,"13:38",102,3,3983945,"13:32","13:34",3983944,104,2,3983943,"13:30",3983942,"13:29",6,3983941,"13:27",107,3983940,"13:26",3983939,103,4,3983938,"13:23",106,3983937,"13:21",3983936,"13:20",3983935,3983934,"13:19",3983933,5
) %>%
mutate(start_time = as.POSIXct(paste(START_TIME_date,START_TIME_hour)),stop_time = as.POSIXct(paste(STOP_TIME_date,STOP_TIME_hour)))
time_data <- df %>%
transmute(
id = 1:n(),content = paste("Task",ASK_ID),start = start_time,end = stop_time,group = PERSON_ID
)
time_data
#> # A tibble: 15 x 5
#> id content start end group
#> <int> <chr> <dttm> <dttm> <dbl>
#> 1 1 Task 3983947 8-03-20 13:35:00 8-03-20 13:36:00 100
#> 2 2 Task 3983946 8-03-20 13:35:00 8-03-20 13:38:00 102
#> 3 3 Task 3983945 8-03-20 13:32:00 8-03-20 13:34:00 102
#> 4 4 Task 3983944 8-03-20 13:32:00 8-03-20 13:35:00 104
#> 5 5 Task 3983943 8-03-20 13:30:00 8-03-20 13:32:00 104
#> 6 6 Task 3983942 8-03-20 13:29:00 8-03-20 13:30:00 104
#> 7 7 Task 3983941 8-03-20 13:27:00 8-03-20 13:35:00 107
#> 8 8 Task 3983940 8-03-20 13:26:00 8-03-20 13:35:00 100
#> 9 9 Task 3983939 8-03-20 13:26:00 8-03-20 13:35:00 103
#> 10 10 Task 3983938 8-03-20 13:23:00 8-03-20 13:35:00 106
#> 11 11 Task 3983937 8-03-20 13:21:00 8-03-20 13:29:00 104
#> 12 12 Task 3983936 8-03-20 13:20:00 8-03-20 13:32:00 102
#> 13 13 Task 3983935 8-03-20 13:20:00 8-03-20 13:27:00 107
#> 14 14 Task 3983934 8-03-20 13:19:00 8-03-20 13:20:00 102
#> 15 15 Task 3983933 8-03-20 13:19:00 8-03-20 13:26:00 100
group_data <- time_data %>%
distinct(group) %>%
mutate(id = group,content = paste("Person",group))
group_data
#> # A tibble: 6 x 3
#> group id content
#> <dbl> <dbl> <chr>
#> 1 100 100 Person 100
#> 2 102 102 Person 102
#> 3 104 104 Person 104
#> 4 107 107 Person 107
#> 5 103 103 Person 103
#> 6 106 106 Person 106
由reprex package(v0.3.0)于2020-08-31创建
timevis(time_data,groups = group_data)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。