The VisualResume package contains the VisualResume.R function which produces a Visual resume like the one below:

You can install VisualResume from GitHub as follows:

#install.packages("devtools") # Only if you don't have the devtools package

To create a Visual Resume, you need to include several arguments that specify the content, size and location of the labels. The function will automatically format the resume to fit your specifications. Here are the main arguments:

For example, here are the inputs that created Walter White’s Visual Resume above:

titles.left = c("Walter White, PhD", "Chemistry, Cooking, Pizza", "*Built with love in R using the VisualResume package:"),
titles.right = c("", "", "Full Resume:"),
timeline.labels = c("Education", "Teaching"),
timeline = data.frame(title = c("Grinnell Col", "Ohio U", "U of Basel", "Max Planck Institute", "Old Van", "Gray Matter", "Sandia Laboratories", "J.P. Wynne High School", "A1A Car Wash"),
                      sub = c("BA. Student", "MS. Student", "PhD. Student", "PhD. Researcher", "Methamphetamine Research", "Co-Founder", "Chemist", "Chemistry Teacher", "Co-Owner"),
                      start = c(1976, 1980.1, 1982.2, 1985, 1996.5, 1987, 1991, 1995, 2001),
                      end = c(1980, 1982, 1985, 1987, 1998, 1992, 1995, 1998, 2003),
                      side = c(1, 1, 1, 1, 1, 0, 0, 0, 0)),
milestones = data.frame(title = c("BA", "MS", "PhD"),
                        sub = c("Math", "Chemistry", "Chemistry"),
                        year = c(1980, 1982, 1985)),
events = data.frame(year = c(1985, 1995, 1997, 1999, 2000),
                    title = c("Contributed to Nobel Prize winning experiment.",
                              "Honorary mention for best Chemistry teacher of the year.",
                              "Created Blue Sky, the most potent methamphetamine ever produced.",
                              "Made first $1,000,000.",
                              "White, W., & Pinkman, J. (2000). Blue Sky: A method of [...].\nJournal of Psychopharmical Substances, 1(1),.")),
interests = list("programming" = c(rep("R", 10), rep("Python", 1), rep("JavaScript", 2), "MatLab"),
                 "statistics" = c(rep("Decision Trees", 10), rep("Bayesian", 5), rep("Regression", 3)),
                 "leadership" = c(rep("Motivation", 10), rep("Decision Making", 5), rep("Manipulation", 30))),
year.steps = 2


If a plot does not come out the way you want it to, you can specify some plotting parameters in the timeline dataframe by including the columns box.x0, box.x1, box.y1, box.y2, which control the locations of the boxes, point.x, point.y which control the locations of the points, and label.x, label.y, label.dir which specify the locations and direction of the labels.

You can also specify colors (and their transparencies) with col and trans.

See the help menu for VisualResume for additional details.

Contribute to VisualResume

This package is very young and likely contains many bugs and room for improvement. Please submit bug reports and feature requests at Pull requests are also very welcome!