ggplot通过第二个变量

时间:2016-08-29 03:22:47

标签: r ggplot2 maps

我正在创建一张美国的等值线图,其中每个县都以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

1 个答案:

答案 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)