Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用ggplot在R中绘制google地图_R_Google Maps_Ggplot2_Geocoding_Ggmap - Fatal编程技术网

用ggplot在R中绘制google地图

用ggplot在R中绘制google地图,r,google-maps,ggplot2,geocoding,ggmap,R,Google Maps,Ggplot2,Geocoding,Ggmap,我正在尝试使用RgoogleMaps包来绘制查询到的图形,并将其与ggplot相结合。最后,我想用geom_point显示总人口,有点类似于下图,但由于过度绘制,我试图集中在蒙哥马利地区 我很沮丧,因为我无法在R中绘制查询到的地图。我尝试了几个软件包,如read.jpeg和png,但效果不太理想 R代码: #query google map al1 <- GetMap(center=c(32.362563,-86.304474), zoom=11, destfile = "al2.jpeg

我正在尝试使用RgoogleMaps包来绘制查询到的图形,并将其与ggplot相结合。最后,我想用
geom_point
显示总人口,有点类似于下图,但由于过度绘制,我试图集中在蒙哥马利地区

我很沮丧,因为我无法在R中绘制查询到的地图。我尝试了几个软件包,如
read.jpeg
png
,但效果不太理想

R代码:

#query google map
al1 <- GetMap(center=c(32.362563,-86.304474), zoom=11, destfile = "al2.jpeg", 
       format="jpg",maptype="roadmap")

#load only specific states
alabama <- subset(all_states, region %in% c("alabama"))

#population
p1 <- ggplot()
p1 <- p1 + geom_polygon(data=alabama, 
      aes(x=long, y=lat, group=group), colour="white", fill="grey10")
p1 <- p1 + geom_point(data=quote, aes(x=IntPtLon, y=IntPtLat, size=TotPop, 
      color=TotPop),colour="coral1") + scale_size(name="Total Pop")
#查询谷歌地图

al1这就是你想要的。它使用了
ggmap
包,简化了流程。有关更多选项,请参见
?get_map
?ggmap
。一个很好的资源是可用的


您可能希望查看ggmap和OpenStreetMap软件包,这两个软件包都支持ggplot2光栅绘图这里有一个来自wiki的很好的示例,可能有助于查看:啊哈!我刚找到这个网站,得到了我的答案。缺点是它确实需要一些时间来绘制,所以我将查看ggmap和OSM。谢谢大家!如果您向我们展示用于制作第二个示例的代码,我相信有人会向您展示如何在贴图定义之外添加透明度(例如,使用
alpha=0.5
,就像您在上面使用点颜色时所做的那样),并更改点的缩放比例(请参见
中的
范围
参数)好的,添加
scale\u区域(范围=c(0,25))
成功了。感谢BenBolkerYes的提示,除此之外,我想在这张地图的顶部绘制点(可能使用geom_point),但同时我想让它在视觉上吸引人。我不希望我的点隐藏/覆盖现有的地图信息。有什么想法吗?使点半透明?你可以使用常规ggplot2几何图形向al1Map添加额外的层。因此,要添加点,那么类似于
al1MAP+geom_点(data=data,aes(x=x,y=y))
就可以了。至于不想覆盖现有的地图信息,我不能帮你。也许您可以尝试不同的地图样式,以找到包含较少细节的内容。@Sandy,我认为ggplot2不支持ggmap图层。我收到以下错误消息:“ggplot2不知道如何处理uneval类的数据”@PaulRigor,它适合我。创建一个数据框,只要一个点就可以了:
data=data.frame(x=-86.35,y=32.4)
将该点添加到al1MAP:
al1MAP+geom_点(data=data,aes(x=x,y=y),color=“red”,size=5)
我在65号公路以西的河里看到一个大红点。
al1 <- get_map(location = c(lon = -86.304474, lat = 32.362563), zoom = 11, maptype = 'terrain')
al1MAP <- ggmap(al1)+ geom_point(data=quote_mgm, aes(x=IntPtLon, y=IntPtLat, size=TotPop))
library(ggmap)
al1 = get_map(location = c(lon = -86.304474, lat = 32.362563), zoom = 11, maptype = 'roadmap')
al1MAP = ggmap(al1)
al1MAP