There is a package called "geoscale" which has a couple of plotting functions that add a geological scale. Personally, I find them of little use, however the package includes a data set of geological ages "data(timescales)" . You can use these to add a scale to your own plot. For instance, you could do something like:
library(geoscale)
library(phytools)
set.seed(1)
# generate LTT plot and tree data
tr <- pbtree(n=100) # simulate tree
tr$edge.length * 10 -> tr$edge.length # increase edge lengths
bt <- ltt.plot.coords(tr) # LTT plot data
bt.log <- cbind(time=bt[,"time"],N=log(bt[,"N"])) # convert to log
# prepare time scale data
data(timescales)
timescales$ICS2015 -> ts # select data set
ts[ ts$Type == "Epoch",] -> ts.epoch # get only data for epoch
which.min(abs(ts.epoch$End - abs(min(bt[,1])))) -> min.date # get the epoch with is closer to the root of the tree
# generate your vector data
start <- ts.epoch$Start[1:min.date]
end <- ts.epoch$End[1:min.date]
midpoint <- ts.epoch$Midpoint[1:min.date]
abbrev <- ts.epoch$Abbrev[1:min.date]
# remove the holocene (useless)
end <- end[-1]
start <- start[-1]
midpoint <- midpoint[-1]
abbrev <- abbrev[-1]
# make vectors negative
end <- -end
start <- -start
midpoint <- -midpoint
# generate a binary (1,0) vector to make a two-color vector
rep(c(1,0),length(start))[1:length(start)] -> col.fac
# plot with no data
plot(bt.log, xlim=c(min(start),0), ylim=c(0,max(bt.log[,"N"]+1)), type="n", ylab="lineages", xlab="time")
# add rectangles
rect(start, rep(0,length(start)), end, rep(log(max(bt[,"N"])),length(start)), col=c("grey","white")[factor(col.fac)], border=F)
# add LTT plot
lines(x=bt[,"time"], y=log(bt[,"N"]), type="b", col="red")
# add labels
text(x=midpoint, y=max(log(bt[,"N"]))+0.5, labels=abbrev, cex=0.5)
This code should generate a plot like the one attached.
Hope this helps.