Я пытаюсь заштриховать область под графиком логнормальной плотности для определенного интервала, используя приведенный ниже код. Это работало для меня в прошлом, используя другие функции плотности и интервалы, но по какой-то причине теперь это дает дефект, который вы можете видеть на графике.
library(ggplot2)
library(plyr)
library(dplyr)
library(tidyr)
x <- seq(0, 43, 0.1)
x_min <- 16
x_max <- 22
df <- data.frame(x = x, f = dlnorm(x, meanlog = 2.5,
sdlog = 0.24))
df <- df %>% mutate(area = ifelse(x >= x_min & x < x_max,
"Participating", "Not Participating"))
gg <- ggplot(data = df, aes(x = x, ymin = 0, ymax = f, fill = area))
gg <- gg + geom_ribbon()
gg <- gg + theme(legend.title = element_blank())
gg