Ggmap overlapping labels

I have a google map and a coordinate list with a text label. When I look at this, the labels overlap and thus become unreadable:

library(ggmap) WPmap <- qmap(c(lon=4.80324, lat=52.40738), zoom = 12, source = "google") 

table kaart_rtw:

  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)) 

Is there a way to stop the overlap?

+4
source share
2 answers

Correcting coordinates can be a simple solution, but only when you have few observations. Example:

 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) 

Result: enter image description here

+3
source

You might want to try ggrepel to place tags without overlapping:

 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) 

ggmap graph with ggrepel tags

+2
source

Source: https://habr.com/ru/post/987027/


All Articles