【问题标题】:geom_map borders in ggplot2ggplot2中的geom_map边框
【发布时间】:2012-04-24 20:36:04
【问题描述】:

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

谢谢

【问题讨论】:

    标签: r ggplot2


    【解决方案1】:

    您需要使用 geom_polygon 添加多边形边框。在下面的代码中,您需要使用数据集 (data) 以及每个多边形的纬度和经度值 (xy) 填写 XXXX。我通常从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"))
    

    【讨论】:

    • 谢谢泰勒。这正是我所缺少的。我正在使用一个形状文件,该文件概述了学区内学校的出勤区。
    • 我有一个和这个非常相似的问题,发帖here,如果你有时间看,我会感谢cmets。
    • @TylerRinker 如果您想以不同颜色突出显示州边界,您能否阐明如何从地图包中获取坐标。我知道有"borders("state"),但是你会怎么在这里使用geom_polygon呢?
    • 我建议打开一个新问题。这个已经 3 岁了,从那时起 ggplot2 发生了变化。在您的问题中提供数据并明确说明您的目标。你可以回到这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多