在R中,如何在ggplot2中使用scale_size时使点透明?

时间:2012-04-26 14:49:36

标签: r google-maps ggplot2 visualization ggmap

此等式来自我的previous question。我想绘制代表总人口的点,到目前为止,我使用scale_size来确定相对于总人口的点数。

但是,我想让这些点透明,因为点覆盖了地图。但是,只要我尝试发送的消息清楚,我就可以使用其他选项。 enter image description here

# load required packages
library(ggmap)
library(ggplot2)

# query map of Birmingham, AL
al1 <- get_map(location = c(lon = -86.304474, lat = 32.362563), zoom = 11,
       source = "osm", maptype = 'terrain')

al1MAP <- ggmap(al1)+ geom_point(data=quote_bmh, 
          aes(x=IntPtLon, y=IntPtLat, size=TotPop, colour="gold2"),
          colour="gold2") + scale_size(range=c(0,15))

2 个答案:

答案 0 :(得分:10)

要使用统一透明度,只需将alpha = 0.3添加到geom_point即可。 alpha可以介于0和1之间,具体取决于您想要的透明度。如果您希望透明度取决于变量,只需将alpha = var_name添加到mapping参数(aes位),其中var_name是变量的列名称你想用于透明度。

答案 1 :(得分:5)

另一种选择是使用空心点,例如geom_point(shape = 21)。这将使得直接在该点下方的地图非常易读,同时使得边缘清晰可见。

(不幸的是,我的雇主阻止了Google API,因此我无法发布结果)