Очистка осей X и Y

Я делал график, и оси x и y очень уродливые. Числа каждого в целом, и мне было интересно, как я могу это исправить, чтобы, возможно, вместо каждого доступного значения x и y он отображал только каждую пару, чтобы это выглядело красиво.

Изображение моего сюжета

Это мой код:

billboard.data<- read.csv("https://raw.githubusercontent.com/hadley/tidy-data/master/data/billboard.csv") %>% 
  select(date.entered, date.peaked) %>% 
  filter(date.entered<"2000-10-01")

ggplot(data=billboard.data, aes(x=date.entered, y=date.peaked, group=1)) +
  geom_line()+
  geom_point()+
    labs (title = "The Time Between A Song Entering and Peaking",
        subtitle = "Is there A High Chance A Song Can Peak Higher After Debuting?",
        x = "Date Entered",
        y = "Date Peaked")+

Извините, я также не знаю, как поместить это в формат кода, но я надеюсь, что все имеет смысл, и я действительно ищу простой ответ. Обратился к профессору за помощью, и он сказал, что это должно быть легко выяснить в Интернете, и я борюсь.


person Sammy Suncin    schedule 19.03.2021    source источник
comment
Простой ответ - ваши значения x и y являются объектами символьной строки, а не числовыми значениями. Найдите здесь в переполнении стека, как конвертировать.   -  person Dave2e    schedule 19.03.2021
comment
Продолжайте поиски в SO, здесь много вопросов: ваши значения не числовые, это строки или факторы. Прочтите свои данные и формат как объекты класса Date, и вы получите гораздо более значимый сюжет. А затем вы можете использовать scale_x_date (and _y_`) для управления внешним видом оси, включая отметки и метки.   -  person r2evans    schedule 19.03.2021
comment
К вашему сведению, ваш filter(date.entered<"2000-10-01") работает, потому что строка отформатирована с первым старшим значащим. R выполняет сравнение строк там, где "1999" < "2000", и интуитивно "210" > "2000" (попробуйте). В аналогичных ситуациях (с не-Date датами) я видел date.entered < "05/13/2020", который сначала сравнивает месяцы, затем дни ... и только затем, если месяцы и дни совпадают, учитывается год.   -  person r2evans    schedule 19.03.2021
comment
В конце концов, после select(.) используйте %>% mutate(across(c(date.entered, date.peaked), as.Date)) %>% filter(date.entered < as.Date("2000-10-01")), и ваш сюжет станет намного более удобным и гибким.   -  person r2evans    schedule 19.03.2021
comment
(И не расстраивайтесь, если рано закроете вопрос. Это распространенный вопрос, и сообщество StackExchange предпочитает использовать предыдущие ответы в качестве основной ссылки, чтобы их было легче найти. Вы включили большую часть того, что делает хороший вопрос: образец кода, данные для повторного использования, полученный сюжет и четкое объяснение того, почему он не казался правильным. Единственное, чего, возможно, немного не хватало, получив отрицательный голос, заключалось в том, что есть много вопросов по SO по поводу ggplot2 и управление осью, как это, так что кто-то подумал, что вам нужно провести больше исследований. Это хороший первый вопрос, оставайтесь!)   -  person r2evans    schedule 19.03.2021