【问题标题】:How to plot coordinates on tmap output?如何在 tmap 输出上绘制坐标?
【发布时间】:2017-03-02 07:43:48
【问题描述】:

到目前为止,在tmap 包的帮助下,我已经成功地在巴基斯坦地区一级直观地呈现不同社会经济因素的数据,以创建以下输出:

accesstowater <- tm_shape(pak) + 
    tm_fill("Condition", n = 5, palette = "-Blues", colorNA = "grey",
             textNA = "Missing Values", title = "Access to Water") + 
    tm_borders(alpha = 0.5) +
    tm_credits("Source: PBS - PSLM 2014 - 15\nDH Corp Ltd.", size = .64,
                position = c(.62,0.02))

在上面的代码中,pak 是我的空间数据框的名称,Condition 是该数据框中的一个变量,显示了对水的访问。


同时,我使用ggplot2 包为巴基斯坦不同的移动网络运营商(大约 13000 个信号塔)绘制了各种信号塔的地理坐标。输出如下:

pakTowers <- ggmap(pakmap6) + 
               geom_point(aes(Longitude, Latitude, colour = MNO), 
                          data = Towers, size = 0.7, alpha = 0.5,
                          show.legend = FALSE)

在上面的代码中,pakmap6get-map() 函数的输出,MNO 代表移动网络运营商,Towers 数据集包括每个塔坐标的条目。

我的下一个要求是将第二个图覆盖在第一个图上,本质上是在地区电力分数之上显示塔。

关于我可以使用哪些包(以及示例代码)来实现这一点有什么想法吗?

【问题讨论】:

  • 欢迎来到 Stack Overflow。这是一个有趣的问题,但如果没有代码和数据就很难回答。请edit您的问题并添加您的代码和示例数据以创建一个最小的可重现示例。谢谢。
  • 嘿,我在数据中添加了更多代码。我还能如何让我的问题更全面?

标签: r ggplot2 tmap


【解决方案1】:

我没有你的 shapefile,所以我无法复制它,但绝对可以单独使用 tmap:

pak_osm <- read_osm(pak, ext=1.1) # reads OSM data based on the bounding box of pak with 10 percent extension

qtm(pak_osm) +
tm_shape(pak) + 
tm_fill("Condition", n = 5, palette = "-Blues", colorNA = "grey", 
    textNA = "Missing Values", title = "Access to Water") + 
tm_borders(alpha = 0.5) + 
tm_credits("Source: PBS - PSLM 2014 - 15\nDH Corp Ltd.", size = .64, position = c(.62,0.02)) +
tm_shape(Towers) +
tm_symbols(color="MNO", shape="MNO", alpha=0.5)

如果这是您的想法,请告诉我。

PS:需要1.6版本,我今天提交给CRAN:)你也可以安装开发版:

library(devtools)
install_github("mtennekes/tmap", subdir = "pkg")

【讨论】:

    猜你喜欢
    • 2014-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多