Геометрическая точка, ставящая точки при неправильных значениях

#r #date #ggplot2

#r #Дата #ggplot2

Вопрос:

У меня есть следующие данные, с помощью которых я пытаюсь создать довольно простой линейный график с точками. По какой-то причине первые три точки 2015 года размещаются со значением выше 1600, когда их значение составляет около 1300.

 dput(data)
structure(list(y_value = c(1143L, 1133L, 1148L, 1155L, 1149L, 
1144L, 1181L, 1164L, 1178L, 1173L, 1176L, 1209L, 1284L, 1286L, 
1283L, 1288L, 1362L, 1396L, 1599L, 1583L, 1606L, 1645L, 1653L, 
1662L), Date = c("2014-1", "2014-2", "2014-3", "2014-4", "2014-5", 
"2014-6", "2014-7", "2014-8", "2014-9", "2014-10", "2014-11", 
"2014-12", "2015-1", "2015-2", "2015-3", "2015-4", "2015-5", 
"2015-6", "2015-7", "2015-8", "2015-9", "2015-10", "2015-11", 
"2015-12"), year = c(2014, 2014, 2014, 2014, 2014, 2014, 2014, 
2014, 2014, 2014, 2014, 2014, 2015, 2015, 2015, 2015, 2015, 2015, 
2015, 2015, 2015, 2015, 2015, 2015)), row.names = c(NA, -24L), class = c("tbl_df", 
"tbl", "data.frame"))

data %>%
  ggplot(aes(x = Date, y=y_value, group=year)) 
  geom_line() 
  geom_point() 
  facet_grid(facets = .~year, scale="free", space="free", switch = "x") 
  theme_bw() 
  theme(axis.text.x = element_blank(),
        panel.spacing.x = unit(0,"line"))


  

введите описание изображения здесь

Я упускаю что-то очевидное? Потому что на данный момент я немного сбит с толку.

Любая помощь очень ценится. Спасибо!

Ответ №1:

Поскольку x сортируется в алфавитном порядке, преобразуйте в дату, затем используйте scale_x_date() для форматирования меток дат:

 data$Date <- as.Date(paste0(data$Date, "-1"), "%Y-%m-%d")

ggplot(data, aes(x = Date, y=y_value, group=year)) 
  geom_line() 
  geom_point() 
  facet_grid(facets = .~year, scale="free", space="free", switch = "x") 
  scale_x_date()  
  theme_bw() 
  theme(axis.text.x = element_blank(),
        panel.spacing.x = unit(0,"line"))
  

введите описание изображения здесь