Here is the beginning of the ggplot approach with some data restructuring. Labels (using geom_text are added separately to control the placement of text.
library(reshape2) library(ggplot2) #create a dataframe with all necessary variables dat <- data.frame(team=c("Team1", "Team2", "Team3", "Team4", "Team5"), rankA=c(1.5, 4, 7, 3, 4.2), rankB=c(1.7, 3.5, 6.2, 3.9, 4.1)) #turn to long dat_m <- melt(dat,id.var="team") #plot ggplot(dat_m, aes(x=variable, y=value, group=team)) + geom_line() + geom_text(data=dat_m[dat_m$variable=="rankA",],aes(label=team),hjust=1.1) + geom_text(data=dat_m[dat_m$variable=="rankB",],aes(label=team),hjust=-0.1) + geom_vline(xintercept = c(1,2)) + #hide axis, labels, grids. theme_classic() + theme( axis.title = element_blank(), axis.line = element_blank(), axis.text = element_blank(), axis.ticks = element_blank())

Heroka
source share