2015-01-15 4 views
0

Редактировать 7:Получите границы для прохождения по состояниям

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

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

Dataset:

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

Rep Код:

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) 

График:

enter image description here

+0

Я никогда не видел карту Google, который был обрезан к государственной границе. Обычно он всегда показывает состояние/регион в контексте. Вы действительно хотите использовать 'qmap' для этого? Есть ли сюжет, который вы пытаетесь подражать? – MrFlick

+0

@MrFlick Я обновил сообщение, чтобы отобразить карту, которую я пытаюсь воспроизвести. Это не ggmap, но это то, что я пытаюсь сделать. – Vedda

+0

Ваша желаемая карта ближе к этой стратегии: 'library (maps); библиотека (ggplot2); регионы <- c («montana», «wyoming», «colorado», «new mexico», «северная дакота», «южная дакота», «небраска», «канзас», «оклахома», «тексас», «миннесота» », "Iowa", "Миссури", "Arkansas"); ggplot() + geom_polygon (data = subset (map_data ("county"), область% в% регионов), aes (x = long, y = lat, group = group, fill = region)) ', поскольку похоже, что вы хотите данные графства. – MrFlick

ответ

2

Порядок, в котором вы рисуете вопросы слоев. Если вы хотите, чтобы строки 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) 

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

enter image description here

+0

Большое спасибо вам большое. ..Это то, что мне нужно ... Я очень ценю всю вашу помощь ... есть ли что-нибудь еще, что вы могли бы сделать с этим графиком, чтобы сделать его лучше? В частности, для затенения и различий в APPT – Vedda