gvisGantt function

Google Gantt Chart with R googleChartName <- "ganttchart"gvisChartName <- "gvisGantt"

Google Gantt Chart with R googleChartName <- "ganttchart"

gvisChartName <- "gvisGantt"

A Gantt chart is a type of chart that illustrates the breakdown of a project into its component tasks.

gvisGantt( data, taskID = "", taskName = "", resource = "", start = "", end = "", duration = "", percentComplete = "", dependencies = "", options = list(), chartid )

Arguments

  • data: data.frame that contains the data to be visualised

  • taskID: a string that refers to the column name in data for the task ID to be used

  • taskName: a string that refers to the column name in data for the task name to be used

  • resource: a string that refers to the column name in data for the resource to be used

  • start: a string that refers to the date column name in data for the start dates

  • end: a string that refers to the date column name in data for the end dates

  • duration: a string that refers to the numeric column name in data for the task duration in milliseconds

  • percentComplete: a string that refers to the numeric column name in data for the percent complete to be used

  • dependencies: a string that refers to the column name in data for the dependencies to be used

  • options: list of configuration options. The options are documented in detail by Google online:

    gsub("CHARTNAME", googleChartName, readLines(file.path(".", "inst","mansections", "GoogleChartToolsURLConfigOptions.txt")))

    paste(readLines(file.path(".", "inst", "mansections","gvisOptions.txt")))

  • chartid: character. If missing (default) a random chart id will be generated based on chart type and tempfile

Returns

paste(gvisChartName) returns list of class

paste(readLines(file.path(".", "inst", "mansections","gvisOutputStructure.txt")))

Examples

# Helper function to generate example data daysToMilliseconds <- function(days){ days * 24 * 60 * 60 * 1000 } 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("2015-01-01"), NA, NA, NA, NA), end = as.Date(c("2015-01-05", "2015-01-09", "2015-01-07", "2015-01-10", "2015-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") ) gntt1 <- gvisGantt(dat, taskID = "taskID", taskName = "taskName", resource = "resource", start = "start", end = "end", duration = "duration", percentComplete = "percentComplete", dependencies = "dependencies") plot(gntt1) ## gantt chart with options set gntt2 <- gvisGantt(dat, taskID = "taskID", taskName = "taskName", resource = "resource", start = "start", end = "end", duration = "duration", percentComplete = "percentComplete", dependencies = "dependencies", options = list( height = 275, gantt = "{ criticalPathEnabled: true, innerGridHorizLine: { stroke: '#ffe0b2', strokeWidth: 2 }, innerGridTrack: {fill: '#fff3e0'}, innerGridDarkTrack: {fill: '#ffcc80'}, labelStyle: { fontName: 'Arial', fontSize: 14 }}" )) plot(gntt2) # Example with date time dat <- data.frame( taskID = c("Research", "Write", "Complete"), taskName = c("Find sources", "Write Paper", "Hand in paper"), resource = c(NA, "write", "complete"), start = c(as.POSIXct("2015-01-01 6:00:00"), NA, NA), end = as.POSIXct(c("2015-01-01 8:00:00", "2015-01-01 13:30:00", "2015-01-01 20:30:00")), duration = c(NA, daysToMilliseconds(c(.1, .05))), percentComplete = c(100, 25, 0), dependencies = c(NA, "Research", "Write")) gntt3 <- gvisGantt(dat, taskID = "taskID", taskName = "taskName", resource = "resource", start = "start", end = "end", duration = "duration", percentComplete = "percentComplete", dependencies = "dependencies") plot(gntt3)

References

Google Chart Tools API: gsub("CHARTNAME", googleChartName, readLines(file.path(".", "inst","mansections", "GoogleChartToolsURL.txt")))

Author(s)

Markus Gesmann markus.gesmann@gmail.com

  • Maintainer: Markus Gesmann
  • License: GPL (>= 2)
  • Last published: 2024-05-25