Вот базовая графическая версия. Во-первых, проще манипулировать столбцом Date
на месте, чем создавать дополнительный dates
объект:
tbl <- within(tbl, Date <- as.Date(Date, "%d/%m/%Y"))
Это делает сюжет. Обратите внимание, что нам нужно немного больше места в нижней части для размещения меток даты:
op <- par(mar = c(6,4,4,2) + 0.1) ## larger bottom margin
## plot data but suppress axes and annotation
plot(Version ~ Date, data = tbl, type = "o", axes = FALSE, ann = FALSE)
## Use Axis to plot the Date axis, in 1 month increments
## format the sequence of dates `ds` as abbreviated month name and Year
with(tbl, Axis(Date, at = (ds <- seq(min(Date), max(Date), by = "months")),
side = 1, labels = format(ds, format = "%b %Y"), las = 2))
## Add y-axis and plot frame
axis(2)
box()
## add on the axis labels
title(ylab = "Version", main = "Releases")
title(xlab = "Date", line = 5) ## pushing the x-axis label down a bit
par(op) ## reset the pars
Это дает нам:
Больше гибкости можно получить, изменяя последовательность дат, которую мы хотим, здесь мы хотим каждые 2 месяца, и мы помечаем их двузначным веком:
with(tbl, Axis(Date, at = (ds <- seq(min(Date), max(Date), by = "2 months")),
side = 1, labels = format(ds, format = "%b %y"), las = 2))
Чтобы использовать это, просто замените приведенный выше вызов вместо существующего оператора with(....)
.