我正在创建一张美国的等值线图,其中每个县都以2012年奥巴马投票的比例着色。我想改变人口覆盖的不透明度(类似于所做的here)。我已经尝试将alpha = populationVariable添加到我的geom_map aes中,但没有运气。
这是我目前的代码。有人能指出我正确的方向吗?
gg <- ggplot()
gg <- gg + geom_map(data=mapC, map=mapC, aes(x=long, y=lat, map_id=id, group=group, fill=mapC$proportionObama))
gg = gg+ scale_fill_gradient2(limits= c(0,100), name="Proportion of Votes for Obama", low="#E5000A", high="#0012BF",mid="#720964", midpoint=50)
gg = gg + theme_map() +coord_equal()
gg <- gg + geom_path(data = mapS, aes(long,lat, group=group), colour="gray50", size=.25)
gg = gg + theme(legend.position="right")
gg
答案 0 :(得分:1)
我认为alpha
需要是一个映射到0到1之间的变量。ggplot
文档总是显示小数值。
你没有可重现的代码,所以这是一个似乎有效的快速测试。
library(data.table)
library(ggplot2)
tmp = data.table(
'x'=c(1,2,3),
'y'=c(1,2,3),
'z'=c(.1,.5,.8)
)
p = ggplot()
p = p + geom_point( data=tmp , aes(x=x,y=y,alpha=z))
print(p)