R - tmap: добавление толстой границы и преобразование округов с NA в диагональные полосы - PullRequest
1 голос
/ 06 апреля 2020

Я пытаюсь воссоздать следующие карты в R, используя tmap:

Первая карта: First Map

Вторая карта: Second Map

Мои вопросы:

  1. Как преобразовать округа с НС из серого (который я считаю по умолчанию в tmap) в диагональные полосы, показанные в первая карта?

  2. Как добавить толстую черную рамку, показывающую все состояние N C, как на второй карте?

В настоящее время мой код R выглядит следующим образом:

tm_shape(dataframe) +

tm_polygons("variable1", id = "county", palette = "Greens", border.col = "black") +

tm_layout(panel.labels = c("ABCD"), legend.position = c("left"))

Примечание: border.col = "black" окрашивает каждую границу округа в черный; однако я хотел бы иметь более толстую границу для всего штата.

Спасибо!

1 Ответ

1 голос
/ 07 апреля 2020

Установите и загрузите пакет tigris

    library(tigris)

Получите пространственный объект, содержащий все формы состояний

    state <- tigris::states() 

, установите подмножество SpatialPolygonsDataFrame для доступа к форме N C

    NC <- state[state@data$NAME == "North Carolina", ]

Получение пространственного объекта, содержащего все округа в N C

    ncCounties <- counties("North Carolina", cb = TRUE)

Используйте функции qtm (), tm_shape () и tm_borders ()

    library(tmap)
    qtm(ncCounties, 
        fill = NULL, 
        fillCol = "GEOID",
        borders = "#515151", )+
   tm_layout(frame = FALSE)+
   tm_shape(NC)+
   tm_borders(lwd = 3, 
         col = "black")

enter image description here

...