ggplot заменяет дни месяцем в агрегированной полярной гистограмме года - PullRequest
0 голосов
/ 25 сентября 2018

Я пытаюсь заменить ось x гистограммы на месяц, данные выглядят примерно так:

library(tidyverse)
library(lubridate)
library(okcupiddata) # the example data

df <- profiles %>% as_tibble() %>% 
  select(last_online) %>% 
  mutate(month = month(last_online, label = TRUE, abbr = FALSE),
         day   = yday(last_online)) 

# A tibble: 59,946 x 3
   last_online         month   day
   <dttm>              <dbl> <dbl>
 1 2012-06-28 20:30:00  June   180
 2 2012-06-29 21:41:00  June   181
 3 2012-06-27 09:10:00  June   179
 4 2012-06-28 14:22:00  June   180
 5 2012-06-27 21:26:00  June   179

Теперь я хочу создать гистограмму с днями года

df %>%
   ggplot(aes(x = day, fill = ..count..)) +
   geom_histogram(bins = 365) + 
   scale_y_log10()

enter image description here

Я хочу заменить ось day на присвоенную ей переменную month.Я пытался использовать scale_x_discrete(labels = month), но это просто удаление оси.

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

В конечном итоге я хочу создать радиальный график (добавив + coord_polar()) с месяцем в виде перерыва, аналогично следующему:

enter image description here

...