Положите область по всей карте США в R - PullRequest
2 голосов
/ 17 апреля 2019

Я хочу построить карту следующих данных, dt_plot, в которой есть 2 уникальных округа.

fr      long        lat       group order    region       subregion    polyname
10   -121.031609 48.3060722  2894   85063  washington    chelan       washington,chelan
12   -121.054520 48.3289909  2894   85064  washington    chelan       washington,chelan
22   -121.054520 48.3461800  2894   85065  washington    chelan       washington,chelan
23   -121.037331 48.3519096  2894   85066  washington    snohomish    washington,chelan
34   -121.025871 48.3633690  2894   85067  washington    snohomish    washington,chelan
1    -121.065979 48.3977432  2894   85068  washington    snohomish    washington,chelan
5    -121.134743 47.9680252  2924   86403  washington    snohomish    washington,snohomish

Я пытаюсь следующий код из ( здесь ):

ggplot(dt_plot, aes(long, lat, group = group)) + 
geom_polygon(aes(fill = fr), colour = rgb(1, 1, 1, 0.2))  +
coord_quickmap()

Когда я строю график, отображаются только графства в наборе данных. Я хочу, чтобы сюжет был наложен на все США Как я могу это сделать? Однако я могу добавить отсутствующие субрегионы, так как я использую столбец fr для цветовой кодировки, и если я это сделаю, легенда будет испорчена.

1 Ответ

0 голосов
/ 19 апреля 2019
cnty <- map_data("county") # Load the county data from the maps package 
cnty2<- cnty %>% 
         mutate(polyname = paste(region, subregion,sep=",")) %>% 
         left_join(county.fips, by="polyname") 

и добавьте geom_polygon(data = cnty2) в качестве другого слоя:

ggplot(dt_plot, aes(long, lat, group = group)) + 
geom_polygon(data = cnty2, fill="lightgrey") + 
geom_polygon(aes(fill = freq), colour = rgb(1, 1, 1, 0.2))  +
geom_text(data=target_annotation, aes(long, lat, label = subregion)) + 
coord_quickmap()
...