Граница вокруг текста с помощью geom_sf_label()

Это мой первый вопрос на этом форуме. Я работаю с визуализацией карты в R и во время построения не могу получить ожидаемый результат.

Как следует из названия, я ищу черную рамку вокруг текста. Вот мой код:

library(dplyr)
library(geodata)
library(ggplot2)
library(sf)

gadm_valp_com <- gadm(country = "CHL", level=3, path=tempdir()) %>%
  st_as_sf() %>%
  filter(NAME_1 == "Valparaíso")

ggplot(gadm_valp_com) + geom_sf(data = gadm_valp_com) +
  geom_sf_text(aes(label = NAME_3), size=1, family = "lato", colour = "white")

Примечание. Я пробовал использовать geom_sf_label(), но это не то, что мне нужно.

Заранее спасибо.

Когда вы использовали geom_sf_label(), насколько конкретно это было не то, что вам нужно?

zephryl 10.01.2023 15:54

Geom_sf_label() выдаёт что-то вроде этого stackoverflow.com/questions/65096700/… Мне просто нужна чёрная рамка вокруг текста, а не квадрат, но я не знаю как

Clemente Ferrer 10.01.2023 16:32
Инструменты для веб-скрапинга с открытым исходным кодом: Python Developer Toolkit
Инструменты для веб-скрапинга с открытым исходным кодом: Python Developer Toolkit
Веб-скрейпинг, как мы все знаем, это дисциплина, которая развивается с течением времени. Появляются все более сложные средства борьбы с ботами, а...
Калькулятор CGPA 12 для семестра
Калькулятор CGPA 12 для семестра
Чтобы запустить этот код и рассчитать CGPA, необходимо сохранить код как HTML-файл, а затем открыть его в веб-браузере. Для этого выполните следующие...
ONLBest Online HTML CSS JAVASCRIPT Training In INDIA 2023
ONLBest Online HTML CSS JAVASCRIPT Training In INDIA 2023
О тренинге HTML JavaScript :HTML (язык гипертекстовой разметки) и CSS (каскадные таблицы стилей) - две основные технологии для создания веб-страниц....
Как собрать/развернуть часть вашего приложения Angular
Как собрать/развернуть часть вашего приложения Angular
Вам когда-нибудь требовалось собрать/развернуть только часть вашего приложения Angular или, возможно, скрыть некоторые маршруты в определенных средах?
Запуск PHP на IIS без использования программы установки веб-платформы
Запуск PHP на IIS без использования программы установки веб-платформы
Установщик веб-платформы, предлагаемый компанией Microsoft, перестанет работать 31 декабря 2022 года. Его закрытие привело к тому, что мы не можем...
Оптимизация React Context шаг за шагом в 4 примерах
Оптимизация React Context шаг за шагом в 4 примерах
При использовании компонентов React в сочетании с Context вы можете оптимизировать рендеринг, обернув ваш компонент React в React.memo сразу после...
1
2
56
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вам нужна рамка того же цвета, что и текст, вы можете просто использовать geom_sf_label() с fill = NA.

Если вы хотите, чтобы граница была другого цвета, чем текст, вы можете использовать ggtext::geom_richtext(), указав аргумент label_colour, а также stat = "sf_coordinates", чтобы заставить его вести себя как geom_sf_label():

library(dplyr)
library(ggplot2)
library(ggtext)
library(sf)

nc <- st_read(system.file("shape/nc.shp", package = "sf"))

counties <- filter(nc, NAME %in% c("Washington", "Tyrrell", "Hyde", "Dare"))

ggplot(counties) + 
  geom_sf(fill = "grey60") +
  geom_richtext(
    aes(label = NAME, geometry = geometry), 
    stat = "sf_coordinates",
    size = 14 / .pt,
    colour = "white",
    label.colour = "black",
    fill = NA,
    label.r = unit(0, "lines")
  ) +
  theme_void()

Другие вопросы по теме