Два независимых графика плотности в одном графике с использованием ggridges - PullRequest
0 голосов
/ 04 октября 2019

Довольно плохо знаком с R, поэтому, пожалуйста, извините за грубый код! У меня есть популяция отмеченных насекомых, за которыми я следую ежемесячно. Уровень маркировки (ppm) уменьшается со временем. Я хотел бы показать график месячной плотности с использованием ggridges, где первый месяц (9), показывающий фоновую (не отмеченную) популяцию, появляется вместе с каждым следующим месяцем, чтобы показать разницу в сигнале между отмеченными и немаркированными популяциями. Не уверен, как получить график плотности фонового изображения для каждого месяца. Вот что я пробовал:


        df2 <- df1 %>% filter(!is.na(ppm)) %>% 
           mutate(Month = factor(Month, levels=c(9,10,11,12,1,2,3,4,5,6,7,8))) %>%
           filter(Month %in% c(7,6,5,3,11,10,9)) %>% 
           mutate(month2 = "9")

        df1 %>% filter(!is.na(ppm)) %>% 
           mutate(Month = factor(Month, levels=c(9,10,11,12,1,2,3,4,5,6,7,8))) %>%
           filter(Month %in% c(7,6,5,3,11,10,9)) %>% 
           ggplot(., aes(x = ppm, y = Month, height = ..density.., fill=Month)) +
           geom_density_ridges(scale = 2.8, stat = "density", alpha=0.8) +
           scale_y_discrete(expand = c(0.01, 0)) +
           scale_x_log10(limits=c(125, 190), breaks=seq(125, 190, 10)) +
           scale_fill_manual(values=c("royalblue", "red3", "darkred", "firebrick3", "tomato2", 
               "indianred1", "mediumpurple3")) +
           theme_ridges() + theme(legend.position = "none") +
           geom_density_ridges(data=df2, aes(x = ppm, y = month2, height = ..density..), scale = 2.8, 
                stat = "density", alpha=0.5, fill='grey')
...