在ggmap中调整地图中的字体大小

时间:2016-01-26 16:24:11

标签: r google-maps ggplot2 ggmap

我试图在德国地图上绘制一些点,使用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,则地图非常详细,并且会打印许多城市名称以及道路的一些白线。这使得地图看起来有点“拥挤”。这是地图的样子: zoom = 6

pdf的大小也非常大,如果我想拥有多张地图,这不太实用。

另一方面,如果我设置zoom = 5,则背景不太详细,显示的道路等较少,文件较小。但是,城市和国家/地区名称的打印字体太大。这是它的样子:

zoom 6

所以我的问题是:可以以某种方式获取带有细节的地图,如缩放= 5,但是国家和城市名称的字体大小与zoom = 6相同?

提前致谢

2 个答案:

答案 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')

返回

simplified map of Germany

如果你想要更多的标签,可能更容易在R中随后插入它们。根据你的需要调整。

答案 1 :(得分:0)

据我所知,大多数地图服务都包含渲染地图图块中的标签。我在r中从未遇到过这个问题,但是使用其他地图服务。 应该可以使用可自定义的地图服务渲染较小的标签,但ggmap只提供可能有点过于昂贵的CloudMade地图。

如果可能的话,我建议使用不同的库,可能是r-bloggers.com中描述的库,它们使用来自MapBox的自定义地图 我建议免费服务(达到一定限度)。