Search code examples
rannotatedtimeline

Best technique for timelines


Now that Gaddafi's 40+ years rule has ended, I want to construct a timeline graph of his period in power with those of other countries over the era. e.g US presidents, German chancellors etc So the x axis would be time, the y axis countries and the timeline split - by the correct time frame - showing Nixon, Ford etc for the US

As I am trying to learn R, I would prefer a solution in that language but have a feeling it is not the best solution. Any suggestions for that or alternative, free solutions?

I should probably add that if in R the dataframe would start

Country  Boss   TookCharge

USA      Nixon   1969-01-20
USA      Ford    1974-08-09
Germany  Brandt  1969-10-22
Germany  Schmidt 1974-05-16

Solution

  • This is a simple task for ggplot:

    Create some data:

    x <- data.frame(
        country = rep(c("USA", "Germany"), each=2),
        boss = c("Nixon", "Ford", "Brandt", "Schmidt"),
        start = as.Date(c("1969-01-20", "1974-08-09", "1969-10-22", "1974-05-16"))
    )
    

    Make the plot:

    library(ggplot2)
    ggplot(x, aes(x=start, y=country)) + 
        geom_line() + 
        geom_point() + 
        geom_text(aes(label=boss), hjust=0, vjust=0) +
        xlim(c(min(x$start), max(x$start)+5*365)) # Add some space to right
    

    enter image description here