ggplot将汇总的年度极坐标直方图中的天替换为月份

时间:2018-09-25 09:00:36

标签: r ggplot2 histogram lubridate

我正尝试将直方图的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

0 个答案:

没有答案