首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重叠标签ggmap

重叠标签ggmap
EN

Stack Overflow用户
提问于 2014-02-24 10:35:10
回答 2查看 2K关注 0票数 5

我有谷歌地图和一个带有文字标签的坐标列表。当我预览这一点时,标签会重叠,因此变得不可读:

代码语言:javascript
复制
library(ggmap)
WPmap <- qmap(c(lon=4.80324, lat=52.40738), zoom = 12,  source = "google")

表kaart_rtw:

代码语言:javascript
复制
              Naam      lat     lon
1 Nieuw-Zeelandweg 52.40466 4.80214
2      Portsmuiden 52.39014 4.78554
3     Westhavenweg 52.41602 4.82282
4     Westhavenweg 52.41702 4.82282
5     Westhavenweg 52.41802 4.82282
6         Deccaweg 52.40196 4.83910
7     Coenhavenweg 52.40364 4.86195 

AmsterdamMap + geom_text(data = kaart_rtw, aes(label = kaart_rtw$Naam, x = X, y = Y)) 

有什么办法阻止这种重叠吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-26 21:14:27

调整坐标可能是一个简单的解决办法,但只有当你几乎没有观察到的时候。举个例子:

代码语言:javascript
复制
df <- read.table(text="Naam lat lon
Nieuw-Zeelandweg 52.40466 4.80214
Portsmuiden 52.39014 4.78554
Westhavenweg 52.41602 4.82282
Westhavenweg 52.41702 4.82282
Westhavenweg 52.41802 4.82282
Deccaweg 52.40196 4.83910
Coenhavenweg 52.40364 4.86195", header = TRUE, strip.white = TRUE)

require(ggmap)
require(ggplot2)

roads <- get_map(location = c(lon = 4.82824, lat = 52.40738), zoom = 13, 
                 maptype = "roadmap", scale = 2)

ggmap(roads) +
  geom_point(data = df, aes(x=lon, y=lat, fill="red", alpha=0.5, label = df$Naam),
             size=4, shape=21) +
  geom_text(data = df, aes(x = lon, y = lat, label = Naam), 
            size = 3, vjust = 0, hjust = -0.1) +
  guides(fill = FALSE, alpha = FALSE)

结果:

票数 3
EN

Stack Overflow用户

发布于 2016-02-04 14:13:17

您可能会考虑尝试格列佩尔将标签放置在没有重叠的位置:

代码语言:javascript
复制
library(ggmap)
install.packages("devtools")
devtools::install_github("slowkow/ggrepel")
library(ggrepel)

df <- read.table(text="Naam lat lon
Nieuw-Zeelandweg 52.40466 4.80214
Portsmuiden 52.39014 4.78554
Westhavenweg 52.41602 4.82282
Westhavenweg 52.41702 4.82282
Westhavenweg 52.41802 4.82282
Deccaweg 52.40196 4.83910
Coenhavenweg 52.40364 4.86195", header = TRUE, strip.white = TRUE)

roads <- get_map(location = c(lon = 4.82824, lat = 52.40738), zoom = 13, 
                 maptype = "roadmap", scale = 2)

ggmap(roads) +
  geom_point(
    data = df,
    aes(x = lon, y = lat),
    alpha = 0.5, fill = "red", size = 4, shape = 21
  ) +
  geom_label_repel(
    data = df,
    aes(x = lon, y = lat, label = df$Naam),
    box.padding = unit(2, "lines")
  ) +
  guides(fill = FALSE, alpha = FALSE)

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21985254

复制
相关文章

相似问题

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