Получить границы, чтобы пройти через штаты

Изменить 7:

После небольшой помощи я смог получить карту, которая приближается к нужным мне результатам. Но мне все еще нужно, чтобы государственные границы были обозначены на карте, но я не могу понять это. Чтобы сделать воспроизводимый пример, который был бы уместен, мне нужно связать с набором данных, так как dput очень большой.

Чтобы упростить задачу, я выделил только три состояния, но там, где границы не отображаются. Мне бы хотелось, чтобы линии границ проходили через график в виде белых линий, как на остальной части карты. Спасибо за вашу помощь.

Набор данных:

https://www.dropbox.com/s/0evuvrlm49ab9up/PRISM_1895_db.csv?dl=0

Код повторения:

PRISM_1895_db <- read.csv("PRISM_1895_db.csv")

regions<- c("north dakota","south dakota","nebraska","kansas","oklahoma","texas","minnesota","iowa","missouri","arkansas", "illinois", "indiana", "wisconsin")

ggplot() + 
  geom_polygon(data=subset(map_data("state"), region %in% regions), aes(x=long, y=lat, group=group), col="white") +
  geom_point(data = PRISM_1895_db2, aes(x = longitude, y = latitude, color = APPT), alpha = .5, size = 3.5) 

График:

1 ответ

Решение

Порядок, в котором вы рисуете слои, имеет значение. Если вы хотите, чтобы строки while находились сверху, вам нужно добавить их в последнюю очередь. И если вы хотите черные фигуры на заднем плане, они вам нужны в первую очередь. Поэтому в основном вам нужно разделить состояния на две части: фон и контур.

ggplot() + 
  geom_polygon(data=subset(map_data("state"), region %in% regions), aes(x=long, y=lat, group=group)) +
  geom_point(data = PRISM_1895_db, aes(x = longitude, y = latitude, color = APPT), alpha = .5, size = 3.5) +
  geom_polygon(data=subset(map_data("state"), region %in% regions), aes(x=long, y=lat, group=group), color="white", fill=NA)

который производит

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