googleVis 0.7.0 adds Gantt charts
Version 0.7.0 of the googleVis R package has been released, adding a new function for Gantt charts. Gantt charts are helpful to illustrates a project schedule and its dependencies.
Following the Google documentation the project has to be broken down into task IDs, task names, resources, start date, end dates, task duration (in milliseconds), how far the task has been completed (in percent), and finally any dependencies to other tasks IDs.
Here is an example for a project to write a research paper:
# Helper function
daysToMilliseconds <- function(days){
days * 24 * 60 * 60 * 1000
}
# Project outline
dat <- data.frame(
taskID = c("Research", "Write", "Cite", "Complete", "Outline"),
taskName = c("Find sources", "Write Paper",
"Create bibliography", "Hand in paper",
"Outline paper"),
resource = c(NA, "write", "write", "complete", "write"),
start = c(as.Date("2022-01-01"), NA, NA, NA, NA),
end = as.Date(c("2022-01-05", "2022-01-09", "2022-01-07",
"2022-01-10", "2022-01-06")),
duration = c(NA, daysToMilliseconds(c(3, 1, 1, 1))),
percentComplete = c(100, 25, 20, 0, 100),
dependencies = c(NA, "Research, Outline", "Research",
"Cite, Write", "Research"))
dat
## taskID taskName resource start end duration
## 1 Research Find sources <NA> 2022-01-01 2022-01-05 NA
## 2 Write Write Paper write <NA> 2022-01-09 259200000
## 3 Cite Create bibliography write <NA> 2022-01-07 86400000
## 4 Complete Hand in paper complete <NA> 2022-01-10 86400000
## 5 Outline Outline paper write <NA> 2022-01-06 86400000
## percentComplete dependencies
## 1 100 <NA>
## 2 25 Research, Outline
## 3 20 Research
## 4 0 Cite, Write
## 5 100 Research
To create a Gantt chart we load the googleVis package and use the
gvisGantt
function, mapping the various columns in our data to the
relevant arguments:
library(googleVis)
gntt <- gvisGantt(dat, taskID = "taskID",
taskName = "taskName",
resource = "resource",
start = "start", end = "end",
duration = "duration",
percentComplete = "percentComplete",
dependencies = "dependencies",
options = list(height='300', width = 'auto'))
Finally, we can display the Gantt chart using the plot
method:
plot(gntt)
For more information about the googleVis package and other visualisation methods visit: https://mages.github.io/googleVis/
Session info
sessionInfo()
## R version 4.2.0 (2022-04-22)
## Platform: aarch64-apple-darwin20 (64-bit)
## Running under: macOS Monterey 12.3.1
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] googleVis_0.7.0
##
## loaded via a namespace (and not attached):
## [1] bookdown_0.26 codetools_0.2-18 digest_0.6.29 R6_2.5.1
## [5] jsonlite_1.8.0 magrittr_2.0.3 evaluate_0.15 blogdown_1.10
## [9] stringi_1.7.6 rlang_1.0.2 cli_3.3.0 rstudioapi_0.13
## [13] jquerylib_0.1.4 bslib_0.3.1 rmarkdown_2.14 tools_4.2.0
## [17] stringr_1.4.0 xfun_0.31 yaml_2.3.5 fastmap_1.1.0
## [21] compiler_4.2.0 htmltools_0.5.2 knitr_1.39 sass_0.4.1
Citation
For attribution, please cite this work as:Markus Gesmann (May 17, 2022) googleVis 0.7.0 adds Gantt charts. Retrieved from https://magesblog.com/post/2022-05-17-googlevis-0-7-0-adds-gantt-charts/
@misc{ 2022-googlevis-0.7.0-adds-gantt-charts,
author = { Markus Gesmann },
title = { googleVis 0.7.0 adds Gantt charts },
url = { https://magesblog.com/post/2022-05-17-googlevis-0-7-0-adds-gantt-charts/ },
year = { 2022 }
updated = { May 17, 2022 }
}