R:使用 ggplot2/ggmap 的世界地图 - 如何加载 png 图像作为 map

标签 r google-maps ggplot2 ggmap map-projections

我正在尝试寻找 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/

相关文章:

r - 如何将图像添加到 ggplot

r - 如何使用 gt() 为每个其他类别着色?

r - as.logic 有问题吗?

r - 如何设置使用ggplot2绘制栅格图

r - 按列名合并 3 个 data.frames

javascript - 在 jQuery 中传递变量

python - 在 Django 中初始化 GeopositionField

ios - 如何在ios5.1和ios6上都实现google map api?

r - 为ggplot2中的每个面板添加具有不同截距的垂直线

r - 与ggplot2相关的矩阵图