R: el intervalo de confianza se muestra parcialmente con ggplot2 (usando geom_smooth ())

Tengo el siguiente código R simple:

disciplines <- c("A","C","B","D","E")
# To stop ggplot from imposing alphabetical ordering on x-axis
disciplines <- factor(disciplines, levels=disciplines, ordered=T)

d1 <- c(0.498, 0.521, 0.332, 0.04, 0.04)
d2 <- c(0.266, 0.202, 0.236, 0.06, 0.06)
d3 <- c(0.983, 0.755, 0.863, 0.803, 0.913)
d4 <- c(0.896, 0.802, 0.960, 0.611, 0.994)

df <- data.frame(disciplines, d1, d2, d3, d4)
df.m <- melt(df)
graph <- ggplot(df.m, aes(group=1,disciplines,value,colour=variable,shape=variable)) +
         geom_point() +
         geom_smooth(stat="smooth", method=loess, level=0.95) +
         scale_x_discrete(name="Disciplines") +
         scale_y_continuous(limits=c(-1,1), name="Measurement")

La salida se ve así:

¿Por qué el intervalo de confianza no se muestra a lo largo de toda la curva?

Notas:

No quiero tenerfullrange=TRUE porque eso solo produce una línea azul recta en lugar de la forma de zigzag en la salida actual.Estoy comparando esta gráfica con otra gráfica que tiene valores negativos en el rango (0, -1], por lo que el eje y tienelimits=c(-1,1))

Respuestas a la pregunta(2)

Su respuesta a la pregunta