Я пытаюсь заменить ось 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](https://i.stack.imgur.com/69ptl.png)
Я хочу заменить ось day
на присвоенную ей переменную month
.Я пытался использовать scale_x_discrete(labels = month)
, но это просто удаление оси.
Я предполагаю, что мне нужно выполнить большее преобразование или программирование, но я надеюсь, что уже есть функция, которую можно быстро применить.
В конечном итоге я хочу создать радиальный график (добавив + coord_polar()
) с месяцем в виде перерыва, аналогично следующему:
![enter image description here](https://i.stack.imgur.com/ISDDv.png)