Learn R Programming

googleVis (version 0.7.1)

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

Description

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

Usage

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

Value

paste(gvisChartName) returns list of class

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

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

Author

Markus Gesmann markus.gesmann@gmail.com

References

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

Examples

Run this code

# 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)

Run the code above in your browser using DataLab