Search code examples
rggplot2ggmap

Overlapping labels ggmap


I have the Google map and a list of coordinates with a text label. When I preview 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 overlapping?


Solution

  • Adjusting the coordinates might be the easy solution, but only when you have few observations. An 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)
    

    The result: enter image description here