2

我正在尝试为ggmap缺少对世界地图的支持找到一种解决方法(即,由于包中的特性,您无法创建任何显示纬度 > 80° 的地图mapproj)。然而,在有限的范围内,似乎可以创建空的世界地图并将它们保存为图像(png 等),即使您不能像通常在ggmap(get_map(...)).

这就是为什么我想加载一个 png (理想情况下,我用创建的一个ggmapggplot2并将其用作地图。我该怎么做?

我知道您可以在其中加载背景图像ggplot2(请参阅此 stackoverflow 问题)。但我也想在我的地图上绘制点 - 正确映射纬度/经度值很重要。

(注意:这个答案中的代码World map with ggmap提供了一些代码,就输出而言,接近我的想法。)

4

1 回答 1

2

这是您可以使用的不带 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
于 2013-10-23T08:27:18.450 回答