R: изменение масштаба оси x в ggplot

#r #ggplot2 #linegraph

#r #ggplot2 #линейный график

Вопрос:

ребята, я использовал код:

 Combine_mean %>% ggplot(aes(x=factor(Year), y=Length, colour=gender, group=gender))   geom_line()
 

Ось x, которая создала всеобъемлющий график, однако загромождена, перечисляя каждый год с 1674 по 1834 год. Я бы предпочел отображать это с шагом в 10 лет, нужно ли мне корректировать мой исходный фрейм данных и, следовательно, результаты для строк как для мужчин, так и для женщин, или это можно сделать путем редактирования кода выше.

Я приложил изображение графика для контекста.

Ответ №1:

Это должно решить проблему (я использовал фиктивные данные):

 library(dplyr)
library(ggplot2)
#Data
Combine_mean <- data.frame(Year=c(seq(1674,1834),seq(1674,1834)),
                           gender=c(rep('female',161),rep('male',161)),
                           Length=c(cumsum(rnorm(161)),cumsum(rnorm(161))))
#Code
Combine_mean %>% 
  ggplot(aes(x=factor(Year), y=Length, colour=gender, group=gender))  
  geom_line() 
  scale_x_discrete(limits=as.character(seq(1674,1834,by=10)))
 

Вывод:

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

Комментарии:

1. Спасибо, это дало гораздо более четкий график. Единственная проблема заключается в том, что поэтому он использовал только наборы данных, которые отражали десятилетний прирост. Есть ли что-нибудь вокруг этого? Я доволен результатом, если нет, просто пытаюсь понять ограничения программного обеспечения, поскольку я немного новичок во всем этом.

2. @NickRuss98 Вы можете изменить seq() или также проверить scale_x_date() , является ли ваша правильная переменная датой, вот несколько приемов, которые помогут вам понять область действия графика 🙂