Create a Timeline rendered by ggplot2
Provide a data frame with event data to create a static timeline plot created by ggplot2. Simplest drawable dataframe can have columns 'event' and 'start'.
gg_vistime( data, col.event = "event", col.start = "start", col.end = "end", col.group = "group", col.color = "color", col.fontcolor = "fontcolor", optimize_y = TRUE, linewidth = NULL, title = NULL, show_labels = TRUE, background_lines = NULL, ... )
data | 
 
  | 
col.event | 
 (optional, character) the column name in   | 
col.start | 
 (optional, character) the column name in   | 
col.end | 
 (optional, character) the column name in   | 
col.group | 
 (optional, character) the column name in   | 
col.color | 
 (optional, character) the column name in   | 
col.fontcolor | 
 (optional, character) the column name in   | 
optimize_y | 
 (optional, logical) distribute events on y-axis by smart heuristic (default), otherwise use order of input data.  | 
linewidth | 
 (optional, numeric) the linewidth (in pixel) for the events (typically used for large amount of parallel events). Default: heuristic value.  | 
title | 
 (optional, character) the title to be shown on top of the timeline.
Default:   | 
show_labels | 
 (optional, boolean) choose whether or not event labels shall be
visible. Default:   | 
background_lines | 
 (optional, integer) the number of vertical lines to draw in the background to demonstrate structure (default: heuristic).  | 
... | 
 for deprecated arguments up to vistime 1.1.0 (like events, colors, ...)  | 
gg_vistime returns an object of class gg and ggplot.
Functions ?vistime and ?hc_vistime for different charting engines (Plotly and Highcharts).
# presidents and vice presidents
pres <- data.frame(
  Position = rep(c("President", "Vice"), each = 3),
  Name = c("Washington", rep(c("Adams", "Jefferson"), 2), "Burr"),
  start = c("1789-03-29", "1797-02-03", "1801-02-03"),
  end = c("1797-02-03", "1801-02-03", "1809-02-03"),
  color = c("#cbb69d", "#603913", "#c69c6e")
)
gg_vistime(pres, col.event = "Position", col.group = "Name", title = "Presidents of the USA")
## Not run: 
# ------ It is possible to change all attributes of the timeline using ggplot2::theme()
data <- read.csv(text="event,start,end
                       Phase 1,2020-12-15,2020-12-24
                       Phase 2,2020-12-23,2020-12-29
                       Phase 3,2020-12-28,2021-01-06
                       Phase 4,2021-01-06,2021-02-02")
p <- gg_vistime(data, optimize_y = T, col.group = "event", title = "ggplot customization example")
library(ggplot2)
p + theme(
  plot.title = element_text(hjust = 0, size=30),
  axis.text.x = element_text(size = 30, color = "violet"),
  axis.text.y = element_text(size = 30, color = "red", angle = 30),
  panel.border = element_rect(linetype = "dashed", fill=NA),
  panel.background = element_rect(fill = 'green')) +
  coord_cartesian(ylim = c(0.7, 3.5))
## End(Not run)Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.