《R语言数据高…" /> 《R语言数据高…" />
绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
R语言画甘特图:vistime
2020-06-19 16:21:24

作者:黄天元,复旦大学博士在读,热爱数据科学与开源工具(R),致力于利用数据科学迅速积累行业经验优势和科学知识发现,涉猎内容包括但不限于信息计量、机器学习、数据可视化、应用统计建模、知识图谱等,著有《R语言高效数据处理指南》(《R语言数据高效处理指南》(黄天元)【摘要 书评 试读】- 京东图书)。知乎专栏:R语言数据挖掘邮箱:huang.tian-yuan@qq.com.欢迎合作交流。

今天经过群友推荐,看到了vistime这个包,能够非常容易地画甘特图,非常高兴。甘特图经常用来做工作计划的可视化,比较实用,具体资料可参考:

甘特图_百度百科

怎么画好一个项目甘特图

如何使用 Excel 绘制甘特图?

vistime底层有plotly包和ggplot2包支撑,可以便捷生成甘特图,还能够更改颜色、字体、背景等各种设置。具体链接如下:

CRAN - Package vistime

下面简单用一些代码来介绍如何使用,具体参考了帮助文档其官网的帮助文档,链接为:vistime。简单的示例,我们可以来看数据框狗仔的基本格式。

library(pacman)
p_load(vistime,tidyfst)

timeline_data <- data.frame(event=c("Event 1", "Event 2"), 
 start = c("2020-06-06", "2020-10-01"), 
 end = c("2020-10-01", "2020-12-31"), 
 group = "My Events")

vistime(timeline_data) #使用plotly绘制
vistime_data(timeline_data) # 查看数据
gg_vistime(timeline_data) #使用ggplot2来绘制
plotly绘制
查看数据内部结构
ggplot2版本

一个甘特图,在vistime中至少需要3列来定义,包括起始时间(start和end),以及event来为之分组。至于group则能够对其分组进行说明。比如下面这个数据,我们根据任期是总统还是副总统来进行分组:

pres <- data.frame(Position = rep(c("President", "Vice"), each = 3),
                   Name = c("Washington", rep(c("Adams", "Jefferson"), 2), "Burr"),
                   start = c("1789-03-29", "1797-02-03", "1801-02-03"),
                   end = c("1797-02-03", "1801-02-03", "1809-02-03"),
                   color = c('#cbb69d', '#603913', '#c69c6e'),
                   fontcolor = c("black", "white", "black"))
vistime(pres , groups  = "Name",events = "Position",
        title = "Presidents of the USA")

个人认为,需要用得多的是这种:

data <- read.csv(text="event,start,end
                       Phase 1,2020-12-15,2020-12-24
                       Phase 2,2020-12-23,2020-12-29
                       Phase 3,2020-12-28,2021-01-06
                       Phase 4,2021-01-06,2021-02-02")
vistime(data, optimize_y = FALSE)

如果需要保存,可以使用plotly自带的export函数:

chart <- vistime(pres, events="Position")
plotly::export(chart, file = "presidents.pdf")

分享好友

分享这个小栈给你的朋友们,一起进步吧。

R语言
创建时间:2020-06-15 11:46:51
R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的工具。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 小雨滴
    专家
戳我,来吐槽~