Poziom przezroczystości i alfa dla ggplot2 stat_density2d z mapami i warstwami w R

Czy ktoś może zaproponować najlepsze sposoby radzenia sobie z przezroczystością i poziomami alfa z wieloma warstwami (w odniesieniu doggplot2)? W poniższym przykładowym kodzie bardzo trudno jest zobaczyć granice poszczególnych stanów (np. Południowa Karolina, Północna Karolina, Wirginia) - próbowałem ustawieniaalpha=0.00001 ale to wydaje się pogarszać ...

library(ggplot2)

all_states = map_data("state")
set.seed(103)
df = data.frame(long=sample(-90:-70,100,T), lat=sample(30:45,100,T))
p = ggplot() + 
    geom_polygon(data=all_states, aes(x=long, y=lat, group=group), color="white", fill="grey80") + 
    stat_density2d(data=df, aes(x=long, y=lat, fill=..level.., alpha=..level..), # HELP HERE ???
                   size=2, bins=5, geom='polygon') +
    geom_point(data=df, aes(x=long, y=lat), 
               color="coral1", position=position_jitter(w=0.4,h=0.4), alpha=0.8) + 
    theme_bw()
p

questionAnswers(1)

yourAnswerToTheQuestion