我正在尝试制作一个图表,以显示每个任务运行了多长时间
我每个任务都有一行
task | Start_time | Finish_time
Task 1 | 09:00:00 | 09:45:00
Task 2 | 09:20:00 | 13:15:00
因此,我尝试将x轴和y轴上的任务设置为24小时刻度线,并在其上显示一条时间。
到目前为止,我有:
ggplot(sas_program_data, aes(xmin = Start_time, xmax = Finish_time, fill = factor(task)))
答案 0 :(得分:2)
您可以使用柱形图显示此类信息。像这样:
library(magrittr)
library(ggplot2)
library(plyr)
df <- data.frame(task=c("T1", "T2"),
start=c("09:00:00", "09:20:00"),
finish=c("09:45:00", "13:15:00")) %>%
mutate(diff=strptime(df$finish, format = "%H:%M:%S")-strptime(df$start, format = "%H:%M:%S"))
ggplot(aes(task, diff), data=df[, c("task", "diff")]) +
geom_col()
如果需要,也可以在geom_col()
位中添加颜色。
如果您只想获得积分,可以将aes(fill=task)
替换为geom_col()
,将geom_point()
替换为diff
,您将获得2分:
finsih
编辑:感谢您使用图片进行更新。试试这个:
ggplot(aes(task, finish), data=df[, c("task", "finish")]) +
geom_point()
您可以根据线条的外观和特定的轴刻度进行修改,但这应该可以帮助您入门。