R语言数据可视化教程:甘特图

2023-05-1809:02:44后端程序开发Comments991 views字数 1414阅读模式

甘特图(Gantt chart)又称为横道图、条状图。其以图示通过活动列表和时间刻度表示出特定项目的顺序与持续时间。一般用横轴表示时间,纵轴表示活动或项目,线条表示期间计划和实际完成情况。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/39981.html

甘特图主要应用于工程项目管理,具有直观展示、制作简单、便于理解等特点,得到广泛的应用。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/39981.html

R语言中有很多包可以绘制甘特图,我们以简单易用的vistime进行演示,该包功能强大,自定义程度较高,可以满足大部分情况下的使用。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/39981.html

加载包文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/39981.html

library(vistime)
library(highcharter)
library(ggplot2)

构造一个虚拟的数据集,主要内容包括项目事件、开始时间、结束时间及区分项目事件的颜色向量。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/39981.html

data <- read.csv(text="event,start,end, color
                       Task 1,2020-8-23,2020-12-29,green
                       Task 2,2020-10-15,2020-12-24,red
                       Task 3,2020-10-28,2021-01-06,blue
                       Task 4,2021-01-06,2021-02-02,orange"
                 )

1、hc_vistime()函数绘制甘特图文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/39981.html

#默认参数绘制甘特图
hc_vistime(data)
R语言数据可视化教程:甘特图

在默认参数下,Task1和Task4 时间不重叠,可以在同一水平线上显示。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/39981.html

hc_vistime(data, 
           optimize_y = F) %>% 
  hc_size(width = 600,height = 300) #设置图片的尺寸
R语言数据可视化教程:甘特图

2、使用vistime()绘制甘特图文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/39981.html

vistime(data, 
        optimize_y = FALSE, 
        linewidth = 30)
R语言数据可视化教程:甘特图

使用shiny动态显示甘特图文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/39981.html

library(shiny)
shinyApp(
  ui = plotly::plotlyOutput("myVistime"),
  server = function(input, output) {
    output$myVistime <- plotly::renderPlotly({
      vistime(data, col.event = "event",
              col.group = "event",
              linewidth = 25
              )
    })
  }
)
R语言数据可视化教程:甘特图

在shinyApp生成的图片中可以显示项目事件的开始和结束日期。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/39981.html

3、使用g_vistime()函数绘制甘特图文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/39981.html

gg_vistime(data,
           optimize_y = F, 
           col.group = "event",
           title = "ggplot customization example")
R语言数据可视化教程:甘特图

自定义图片格式文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/39981.html

gg_vistime(data,
           optimize_y = F, 
           col.group = "event",
           title = "ggplot customization example")+
  theme(
  plot.title = element_text(hjust = 0, size=20),
  axis.text.x = element_text(size = 10, color = "violet"),
  axis.text.y = element_text(size = 10, color = "red", angle = 30),
  panel.border = element_rect(linetype = "dashed", fill=NA),
  panel.background = element_rect(fill = 'lightgray'))
R语言数据可视化教程:甘特图

参考资料 https://shosaco.github.io/vistime/文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/39981.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/bc/39981.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定