2

我正在尝试使用 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"))

谢谢

4

1 回答 1

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"))
于 2012-04-24T21:00:22.263 回答