簡體   English   中英

如何在地圖上添加點?

[英]How to add points into map?

問題的第一部分是: 如何在r中將兩個映射合並為一個?

綁定兩個地圖SWE和NOR的完整代碼(shp數據可從http://www.gadm.org/country下載):

library(maptools)

mapa_shp_swe <- readShapePoly("C:/r/SWE_adm/SWE_adm0.shp")
mapa_map_swe <- fortify(mapa_shp_swe)

swe <- ggplot(mapa_map_swe, aes(x = long, y = lat, group=group)) + 
  geom_path(size=1) +
  theme_bw()

mapa_shp_nor <- readShapePoly("C:/r/NOR_adm/NOR_adm0.shp")
mapa_map_nor <- fortify(mapa_shp_nor)

nor <- ggplot(mapa_map_nor, aes(x = long, y = lat, group=group)) + 
  geom_path(size=1) +
  theme_bw()

n <- length(slot(mapa_shp_swe, "polygons"))
newShape <- spChFIDs(mapa_shp_nor, as.character(n))

newShape2 <- spRbind(newShape, mapa_shp_swe)

map <- ggplot(newShape2, aes(x = long, y = lat, group=group)) + 
  geom_path(size=1) +
  theme_bw()

如何在地圖上添加城市(以點為單位)? 這不起作用:

cities <- data.frame(ID = c("stockholm","Oslo"),
                     x = c(59.32, 59.95),
                     y = c(18.06, 10.75))

ggplot(newShape2, aes(x = long, y = lat, group=group)) + 
  geom_path(size=1) +
  geom_point(data = cities, aes(x = x, y = y)) +
  theme_bw()

三件事:

  1. 我認為您弄糟了什么是長而什么是后。 反轉geom_point中x和y的geom_point
  2. 將組aethethic放入geom_path因為此時其他任何geom都不需要它。
  3. 為您的點添加一些顏色和大小,默認的黑色可能很難發現。

以下可能有效:

ggplot(newShape2, aes(x = long, y = lat)) + 
   geom_path(aes(group=group), size=1) +
   geom_point(data = cities, aes(x = y, y = x),col="red", size=5)+
   theme_bw()

Lycka直到!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM