Learn R Programming

qdap (version 2.4.6)

gantt_wrap: Gantt Plot

Description

A ggplot2 wrapper that produces a Gantt plot.

Usage

gantt_wrap(
  dataframe,
  plot.var,
  facet.vars = NULL,
  fill.var = NULL,
  title = NULL,
  ylab = plot.var,
  xlab = "duration.default",
  rev.factor = TRUE,
  transform = FALSE,
  ncol = NULL,
  minor.line.freq = NULL,
  major.line.freq = NULL,
  sig.dig.line.freq = 1,
  hms.scale = NULL,
  scale = NULL,
  space = NULL,
  size = 3,
  rm.horiz.lines = FALSE,
  x.ticks = TRUE,
  y.ticks = TRUE,
  legend.position = NULL,
  bar.color = NULL,
  border.color = NULL,
  border.size = 2,
  border.width = 0.1,
  constrain = TRUE,
  plot = TRUE
)

Value

Returns a Gantt style visualization. Invisibly returns the ggplot2 list object.

Arguments

dataframe

A data frame with plotting variable(s) and a column of start and end times.

plot.var

A factor plotting variable (y axis).

facet.vars

An optional single vector or list of 1 or 2 to facet by.

fill.var

An optional variable to fill the code strips by.

title

An optional title for the plot.

ylab

An optional y label.

xlab

An optional x label.

rev.factor

logical. If TRUE reverse the current plotting order so the first element in the plotting variable's levels is plotted on top.

transform

logical. If TRUE the repeated facets will be transformed from stacked to side by side.

ncol

if an integer value is passed to this gantt_wrap uses facet_wrap rather than facet_grid.

minor.line.freq

A numeric value for frequency of minor grid lines.

major.line.freq

A numeric value for frequency of major grid lines.

sig.dig.line.freq

An internal rounding factor for minor and major line freq. Generally, default value of 1 suffices for larger range of x scale may need to be set to -2.

hms.scale

logical. If TRUE converts scale to h:m:s format. Default NULL attempts to detect if object is a cm_time2long object

scale

Should scales be fixed ("fixed", the default), free ("free"), or free in one dimension ("free_x", "free_y")

space

If "fixed", the default, all panels have the same size. If "free_y" their height will be proportional to the length of the y scale; if "free_x" their width will be proportional to the length of the x scale; or if "free" both height and width will vary. This setting has no effect unless the appropriate scales also vary.

size

The width of the plot bars.

rm.horiz.lines

logical. If TRUE the horizontal lines will be removed.

x.ticks

logical. If TRUE the x ticks will be displayed.

y.ticks

logical. If TRUE the y ticks will be displayed.

legend.position

The position of legends. ("left", "right", "bottom", "top", or two-element numeric vector).

bar.color

Optional color to constrain all bars.

border.color

The color to plot border around Gantt bars (default is NULL).

border.size

An integer value for the size to plot borders around Gantt bars. Controls length (width also controlled if not specified).

border.width

Controls border width around Gantt bars. Use a numeric value in addition to border size if plot borders appear disproportional.

constrain

logical. If TRUE the Gantt bars touch the edge of the graph.

plot

logical. If TRUE the plot will automatically plot. The user may wish to set to FALSE for use in knitr, sweave, etc. to add additional plot layers.

Author

Andrie de Vries and Tyler Rinker <tyler.rinker@gmail.com>.

References

Clark, W. & Gantt, H. (1922) The Gantt chart, a working tool of management. New York, Ronald Press.

See Also

gantt, gantt_plot, gantt_rep, facet_grid, facet_wrap

Examples

Run this code
if (FALSE) {
dat <- gantt(mraja1$dialogue, list(mraja1$fam.aff, mraja1$sex),
    units = "sentences", col.sep = "_")
htruncdf(dat)
gantt_wrap(dat, "fam.aff_sex", title = "Gantt Plot")
dat$codes <- sample(LETTERS[1:3], nrow(dat), TRUE)
gantt_wrap(dat, "fam.aff_sex", fill.var = "codes",
    legend.position = "bottom")

dat2 <- with(rajSPLIT, gantt_rep(act, dialogue,
    list(fam.aff, sex), units = "words", col.sep = "_"))
htruncdf(dat2)
x <- gantt_wrap(dat2, "fam.aff_sex", facet.vars = "act",
    title = "Repeated Measures Gantt Plot")

library(ggplot2); library(scales); library(RColorBrewer)
x + scale_color_manual(values=rep("black",
    length(levels(dat2$fam.aff_sex))))
}

Run the code above in your browser using DataLab