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

Adjust font size in map plots in 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,那么地图会非常详细,会打印很多城市名称,还有一些道路白线。这让地图看起来有点太"crowded"。这是地图的样子:

pdf的尺寸也很大,如果我想要多张地图,不太实用。

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

所以我的问题是:能否以某种方式获得一张地图,其中包含 zoom = 5 中的详细信息,但国家和城市名称的字体大小如 zoom = 6?

提前致谢

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

如果可能,我建议使用不同的库,也许是 r-bloggers.com they use a custom made map from MapBox 中描述的库 我会推荐免费服务(达到一定限度)。

如果您从 get_map 更改为 get_googlemap,您可以将字符串传递给 style 参数,该参数将传递给 Google 静态地图 API.参见 the documentation, and a crucial 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')

哪个returns

如果您想要更多标签,稍后在 R 中插入它们可能会更容易。根据需要进行调整。