首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ggmap世界地图

使用ggmap世界地图
EN

Stack Overflow用户
提问于 2013-05-23 19:59:47
回答 1查看 10.1K关注 0票数 7

我正在尝试通过结合使用ggmap包/ get_map功能(参见下面的代码)和ggplot2来获得整个世界的简单光栅地图。缩放级别仅接近"3",不允许进一步缩小

似乎不可能得到一张世界地图(如ggmap描述中所述:("maps of the whole world currently not supported")。也许由于缺乏理解为什么这是不可能的/支持的,有没有变通的/替代的解决方案来拥有世界地图视图?

关于问题的编辑/更新:我试着按照建议使用世界地图--但出于某种原因,我不明白为什么它不允许我在图表中绘制点(这是我最初的目标,在ggmap中也是有效的)--我觉得我在做一些愚蠢的事情/犯了基本的错误。我收到错误消息"Error in eval(expr, envir, enclos) : object 'group' not found"

编辑-不幸的是,我得到了一个错误信息使用OpenStreetMap (java错误。致力于解决这个问题--但非OpenStreetMap解决方案会更好……)

总而言之- ggmap方法适用于geom_point,但我无法获得完整的世界地图。worldmap方法应该可以工作,但由于某些原因无法获得要绘制的点.....

新代码如下:

ggmap方法:

代码语言:javascript
复制
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方法:

代码语言:javascript
复制
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"))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-23 23:49:50

您可以尝试使用OpenStreetMap包,它可以访问许多不同的地图服务器,但不能访问GoogleMaps。

代码语言:javascript
复制
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))
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16713354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档