我正在尝试寻找 ggmap
的解决方法缺少对世界地图的支持(即,由于 mapproj
包中的特性,您无法创建任何显示纬度 > 80° 的 map )。
然而,在有限的范围内,似乎可以创建空的世界地图并将它们保存为图像(png等),即使您不能像 ggmap(get_map(...))
中通常那样直接使用 ggmap 对象。 .
这就是为什么我想将一个 png(理想情况下,我用 ggmap
创建的)加载到 ggplot2
中。并将其用作 map 。我到底该怎么做?
我知道您可以在 ggplot2
中加载背景图像(参见this stackoverflow question)。但我还想在 map 上绘制点 - 正确映射纬度/经度值非常重要。
(注意:World map with ggmap 的答案中的代码提供了一些代码,就输出而言,这些代码接近我的想法。)
最佳答案
这是一个没有 ggmap 的示例,您可以使用。
require(ggplot2)
require(cshapes)
world <- cshp(date=as.Date("2012-01-1"))
world.points <- fortify(world, region='COWCODE')
world.points2 <- merge(world.points,world@data,by.x="id",by.y="COWCODE",all.x=TRUE )
# Add a variable 'size' per country
world.points2$size <- factor(ifelse(world.points2$AREA < 121600,"small",ifelse(world.points2$AREA > 515000, "large", "medium")))
# Coord_fixed fixes the aspect ratio.
p <- ggplot(world.points2,aes(long,lat,group=group,fill=size)) + geom_polygon(colour="grey50") + coord_fixed()
p
关于R:使用 ggplot2/ggmap 的世界地图 - 如何加载 png 图像作为 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19493378/