我正在尝试使用ggmap
package / get_map功能(请参阅下面的代码)结合ggplot2
获取整个世界的简单栅格地图。缩放级别仅朝向" 3",并且不允许进一步缩小
似乎无法获得世界地图(如ggmap
描述中所述:( "maps of the whole world currently not supported"
)。也许是由于缺乏理解为什么这是不可能/不支持的,是否有工作 - 具有世界地图视图的替代/替代解决方案?
关于问题的编辑/更新:我试图按照建议使用世界地图 - 但由于某种原因我不明白为什么它不允许我在图中绘制点(这是最初的目标,并在ggmap
)工作 - 觉得我做了一些愚蠢/做出基本错误。我收到错误消息"Error in eval(expr, envir, enclos) : object 'group' not found"
EDIT-很遗憾我使用OpenStreetMap收到错误消息(java错误。正在修复此问题 - 但非OpenStreetMap解决方案会很棒......)
总结一下 - ggmap
方法适用于geom_point
,但我无法获得整个世界地图。 worldmap
方法应该有效,但由于某种原因无法获得积分.....
以下新代码:
ggmap
方法:
library(ggmap)
library(ggplot2)
reclat=c(50,20,30,40)
reclong=c(30,40,30,50)
points=as.data.frame(cbind(reclat,reclong))
al1 = get_map(location = 'Europe', zoom = 3, color="bw",maptype = "satellite")
map = ggmap(al1)
map
#this works
map+geom_point(data=points, aes(x=reclong, y=reclat, colour="red"))
worldmap
方法:
world <- map_data("world")
worldmap <- ggplot(world, aes(x=long, y=lat, group=group)) +
geom_path() +
scale_y_continuous(breaks=(-2:2) * 30) +
scale_x_continuous(breaks=(-4:4) * 45)
#this works
worldmap + geom_point(aes(50, 30, colour="red"))
#this doesnt work
worldmap + geom_point(data=points, aes(x=reclong, y=reclat, colour="red"))
答案 0 :(得分:3)
您可以尝试使用OpenStreetMap包,它可以访问许多不同的地图服务器,但不能访问GoogleMaps。
library(OpenStreetMap)
library(ggplot2)
map <- openmap(c(70,-179),
c(-70,179),zoom=1)
map <- openproj(map)
reclat <- c(50,20,30,40)
reclong <- c(30,40,30,50)
autoplot(map) + geom_point(aes(x=reclong,y=reclat))