我试图在德国地图上绘制一些点,使用ggmap包,效果很好。但是,我想做一些具体的改变,不知道如何或如果可能的话。
要制作地图,我会执行以下操作(d是具有经度和纬度的数据框):
map <- get_map(location = c(10.25828, 51.11484), zoom = 6, maptype = "terrain")
p <- ggmap(map)
p <- p + scale_x_continuous(limits = c(6.09500,14.95306)) + scale_y_continuous(limits = c(47.39889,55.01250)+c(0,-0.1))
p <- p + xlab("Longitude") + ylab("Latitude")
在那张地图上,我然后绘制了一些点。现在,如果我如上所述设置zoom = 6,则地图非常详细,并且会打印许多城市名称以及道路的一些白线。这使得地图看起来有点“拥挤”。这是地图的样子:
pdf的大小也非常大,如果我想拥有多张地图,这不太实用。
另一方面,如果我设置zoom = 5,则背景不太详细,显示的道路等较少,文件较小。但是,城市和国家/地区名称的打印字体太大。这是它的样子:
所以我的问题是:可以以某种方式获取带有细节的地图,如缩放= 5,但是国家和城市名称的字体大小与zoom = 6相同?
提前致谢
答案 0 :(得分:5)
如果您从get_map
更改为get_googlemap
,则可以将字符串传递给style
参数,该参数将传递到Google Static Maps API。请参阅the documentation和关键reference。
我认为你不能改变文字大小,但你可以简化道路并删除某些标签,如下所示:
map <- get_googlemap(center = c(10.25828, 51.11484), zoom = 6, maptype = "terrain",
style = 'feature:road|element:all|visibility:simplified&style=feature:administrative.locality|element:labels|visibility:off')
返回
如果你想要更多的标签,可能更容易在R中随后插入它们。根据你的需要调整。
答案 1 :(得分:0)
据我所知,大多数地图服务都包含渲染地图图块中的标签。我在r中从未遇到过这个问题,但是使用其他地图服务。 应该可以使用可自定义的地图服务渲染较小的标签,但ggmap只提供可能有点过于昂贵的CloudMade地图。
如果可能的话,我建议使用不同的库,可能是r-bloggers.com中描述的库,它们使用来自MapBox的自定义地图 我建议免费服务(达到一定限度)。