% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/gvisGantt.R
\name{gvisGantt}
\alias{gvisGantt}
\title{Google Gantt Chart with R
\Sexpr{googleChartName <- "ganttchart"}
\Sexpr{gvisChartName <- "gvisGantt"}}
\usage{
gvisGantt(
  data,
  taskID = "",
  taskName = "",
  resource = "",
  start = "",
  end = "",
  duration = "",
  percentComplete = "",
  dependencies = "",
  options = list(),
  chartid
)
}
\arguments{
\item{data}{data.frame that contains the data to be visualised}

\item{taskID}{a string that refers to the column name in 
\code{data} for the task ID to be used}

\item{taskName}{a string that refers to the column name in 
\code{data} for the task name to be used}

\item{resource}{a string that refers to the column name in 
\code{data} for the resource to be used}

\item{start}{a string that refers to the date column name in 
\code{data} for the start dates}

\item{end}{a string that refers to the date column name in 
\code{data} for the end dates}

\item{duration}{a string that refers to the numeric column name in 
\code{data} for the task duration in milliseconds}

\item{percentComplete}{a string that refers to the numeric column name in 
\code{data} for the percent complete to be used}

\item{dependencies}{a string that refers to the column name in 
\code{data} for the dependencies to be used}

\item{options}{list of configuration options.
The options are documented in detail by Google online:

% START DYNAMIC CONTENT

\Sexpr[results=rd]{gsub("CHARTNAME", 
googleChartName,
readLines(file.path(".", "inst",  "mansections", 
"GoogleChartToolsURLConfigOptions.txt")))}

 \Sexpr[results=rd]{paste(readLines(file.path(".", "inst", 
 "mansections", "gvisOptions.txt")))}}

\item{chartid}{character. If missing (default) a random chart id will be 
generated based on chart type and \code{\link{tempfile}}}
}
\value{
\Sexpr[results=rd]{paste(gvisChartName)} returns list 
of \code{\link{class}}
 \Sexpr[results=rd]{paste(readLines(file.path(".", "inst", 
 "mansections", "gvisOutputStructure.txt")))}
}
\description{
A Gantt chart is a type of chart that illustrates the breakdown of a 
project into its component tasks.
}
\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: 
\Sexpr[results=rd]{gsub("CHARTNAME", 
googleChartName, 
readLines(file.path(".", "inst",  "mansections", 
"GoogleChartToolsURL.txt")))}

% END DYNAMIC CONTENT
}
\author{
Markus Gesmann \email{markus.gesmann@gmail.com}
}
\keyword{iplot}
