нанесение меток geom_points поверх растровых данных ggplot

#r #ggplot2 #raster #sp

Вопрос:

В настоящее время я создаю растровые карты ggplot2 , у меня есть несколько точек, названия которых я хочу видеть на карте. Для этого я использую geom_point() , но я не могу понять, как отображать метки для каждой точки. Код, который я использую, и полученная карта приведены ниже

 library(gstat)
library(sp)
library(tidyr)
library(dplyr)
library(rgdal)
library(sf)
library(raster)
library(ggplot2)
library(viridis)
library(ggthemes)

# converting raster to df for ggplot
test_spdf <- as(raster, "SpatialPixelsDataFrame")
test_df <- as.data.frame(test_spdf)
colnames(test_df) <- c("value", "x", "y") 

# creates my points df from a spatialpointdataframe
dpts <- data.frame(estacoes@coords)
dpts$nomes <- estacoes$abrv
colnames(dpts) <- c("x", "y", "nome")

spf <- pauf # is my spatial polygons object

test <- ggplot()    
  geom_tile(data=test_df, aes(x=x, y=y, fill=value), alpha=0.8)   
  geom_polygon(data=spf, aes(x=long, y=lat, group=group), 
               fill=NA, size=0.25)  
  scale_fill_viridis(option="D")  
  coord_equal()  
  theme_map()  
  theme(legend.position="bottom")  
  theme(legend.key.width=unit(2, "cm"))   
  geom_point(data=dpts, aes(x=x, y=y), size=3, shape=4)
 

введите описание изображения здесь

Комментарии:

1. Увидеть geom_label() или geom_text()

Ответ №1:

просто изменил функцию geom_point() с помощью этого и получил именно то, что хотел. geom_label_repel находится в ggrepel упаковке

   geom_label_repel(data= dpts, aes(x=x,y=y,label=nome),
                 box.padding   = 0.35, 
                 point.padding = 0.5,
                 segment.color = 'grey50')
 

введите описание изображения здесь