ggplot2中的geom_map边框

时间:2012-04-24 20:36:05

标签: r ggplot2

我正在尝试使用ggplot2中的geom_map生成一个等值区域图。我想概述黑色或其他颜色的各个区域,以区分渐变颜色相似的区域。使用以下代码我试图设置颜色以勾勒出区域。代码生成地图,但没有边框。当我将颜色命令移动到美学中时,它会生成带有图例的预期“粉红色”边框。设置颜色的任何想法都不会产生边框,但映射会吗?我在ggplot2 Google Group上看到了类似的讨论。

ggplot(subset(df, as.character(variable) == "value"), aes(map_id = id)) +
  geom_map(aes(fill = pct), colour = "black", map = ggmap) +
  expand_limits(x = ggmap$long, y = ggmap$lat) +
  scale_fill_gradient(low = "antiquewhite", high = "darkred") +
  opts(title = "Title", panel.background = theme_rect(fill = "grey90"))

由于

1 个答案:

答案 0 :(得分:4)

您需要使用geom_polygon添加多边形边框。在下面的代码中,您需要为XXXX填写数据集(data)以及每个多边形的纬度和长度(xy)值。我通常从maps包中获取数据,不确定这是否就是你所做的。

ggplot(subset(df, as.character(variable) == "value"), aes(map_id = id)) +
  geom_map(aes(fill = pct), colour = "black", map = ggmap) +
  geom_polygon(data=XXXX, aes(x=XXXX, y=XXXX), colour='black', fill=NA) +
  expand_limits(x = ggmap$long, y = ggmap$lat) +
  scale_fill_gradient(low = "antiquewhite", high = "darkred") +
  opts(title = "Title", panel.background = theme_rect(fill = "grey90"))