Jas*_*lns 9 maps visualization r ggplot2
任何人都可以提供关于处理多层透明度和alpha级别的最佳方法的建议(参考ggplot2
)?在下面的示例代码中,很难看到各个州的边界线(例如南卡罗来纳州,北卡罗来纳州,弗吉尼亚州) - 我尝试过设置,alpha=0.00001
但这似乎会让事情变得更糟......
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
Run Code Online (Sandbox Code Playgroud)
Did*_*rts 12
当您将某个变量映射到alpha=
内部时aes()
,默认情况下,alpha值的范围为0.1到1(最低maped变量值为0.1,最高值为1).您可以使用scale_alpha_continuous()
并设置不同的最大和最小范围值来更改它.
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..),
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()+
scale_alpha_continuous(range=c(0.1,0.5))
Run Code Online (Sandbox Code Playgroud)