Если я правильно понимаю, ОП хочет отобразить месячные данные, в которых год и месяц кодируются в формате «ГГГГММ» в переменной V1
.
Я могу воспроизвести проблему по
# create sample data
years <- 2013:2017
DF <- data.frame(V1 = 100 * rep(years, each = 12) + rep(1:12, length(years)),
V2 = rep(1:12, length(years)))
library(ggplot2)
ggplot(DF, aes(V1, V2)) +
geom_col()

Чтобы построить эти ежемесячные данные, V1
необходимо преобразовать в полноценные даты, например, 201304
становится датой 2013-04-01
. Итак, каждый год-месяц сопоставляется с первым днем месяца.
С помощью пакета lubridate
мы получаем
ggplot(DF, aes(lubridate::ymd(V1, truncated = 1L), V2)) +
geom_col()

ggplot()
распознает, что ось x теперь является классом Date
, и масштабируется соответственно. Использование шкалы Date
дает преимущество в том, что она корректно масштабируется, даже если отсутствуют точки данных.