How to create a timeline of your CV in R?

[This article was first published on R on Stats and R, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.


In this article, I show how to create a timeline of your CV in R. A CV timeline illustrates key information about your education, work experiences and extra activities. The main advantage of CV timelines compared to regular CV is that they make you stand out immediately by being visually appealing and easier to scan. It also allows you to better present your “story” by showing the chronology of your jobs and activities and thus explain how you got to where you are today. (It can also be part of your portfolio to show your R skills.)

We show below how to create such CV in R with a minimal reproducible example. Feel free to use the code and adapt it to you. For a more complete example (together with the code) you can check my own CV timeline.

Note that I wrote this article after reading this original post by Bernardo Lares, and in particular his package, i.e., {lares} package. A special thanks for his amazing work which was used to create a slightly modified version of the plot_timeline() function!

Minimal reproducible example

Here is the code and the result of a minimal reproducible example:

How to personalize it

If you want to edit the example with your own academic, extra and work experiences you basically just have to edit the dataframe called cv in the code above. Each row of the dataset cv is a different academic program, job or activity. Rows should include:

  • the name of the academic program, job title or activity
  • the name of the university, school, company or workplace
  • the category: academic, work experience or extra
  • the starting date (dates must be in format yyyy-mm-dd)
  • the ending date. If the role has not yet ended, type today instead of the date. By using today your CV timeline will automatically adapt to today’s date

Add or remove a row in the dataframe if you want to add or remove a role. Indicate NA if you do not want to specify any workplace (as it has been done for Extra3). Last, do not forget to replace my name with yours for the subtitle of the timeline at the end of the code.

Experienced R users may wish to edit the plot_timeline2 function to their needs. However, if you are happy with the template and design of the example, you only have to change things mentioned above.

Additional note

Instead of editing the code according to your roles directly in the script, you can also create an Excel file with the required data (job title, workplace, type, start date, end date) and then import it into R. Editing the Excel file is easier and less prone to coding errors. Moreover, if you have a long career, the code may become long while if you import the Excel file, it will always stay short and concise.

Thanks for reading. I hope this article helped you to create a timeline of your CV in R. If you would like to see a more complete and live example, see my timeline CV.

As always, if you have a question or a suggestion related to the topic covered in this article, please add it as a comment so other readers can benefit from the discussion.

A special thanks to Prof. Job N Nmadu for the suggestion about creating the file that holds the data.

To leave a comment for the author, please follow the link and comment on their blog: R on Stats and R. offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)