Можно ли добавить наложение городов на карту, созданную с помощью choroplethr? - PullRequest
1 голос
/ 30 апреля 2019

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

Я использую пакет choroplethr для создания карт по почтовому индексу.Я хочу добавить наложение, показывающее города (и только города), но использование reference_map = TRUE просто возвращает топографическую карту со столицами штатов в дополнение к усложнению дифференциации фактических цветов.

Есть ли способ добавитьналожение города на choroplethr, либо со встроенной функцией choroplethr, которую я пропускаю, либо путем объединения его с каким-то другим пакетом?

Моя текущая функция

zip_choropleth(myexcel,
           title="Mansfield Geographical Capture by ZCTA",
           num_colors=9,
           state_zoom = c("massachusetts","rhode island","connecticut"), 
           reference_map = TRUE) 
           + scale_fill_brewer(palette="YlOrRd")

Возвращаетизображение вот так:

Bad Topographical Map... D:

И я хочу что-то вроде этого (плюс наложение города!):

Good Zip Map! :D

1 Ответ

1 голос
/ 01 мая 2019

Это возможно. Есть несколько вещей, которые вам нужно понять, чтобы достичь этого:

  1. Все функции choroplethr возвращают объекты ggplot2. Шкала для этих графиков длинная и лат.
  2. Вы можете добавить еще один слой в ggplots с помощью оператора +.
  3. Вам нужно знать длину и лат всех городов, которые вы хотите добавить. По данным Google, Бостон находится на длинной = 42,361145, широта = -71,057083.
  4. Сам Choroplethr не знает городов и их местоположений.

Вот демонстрация использования geom_point для добавления черной точки для Бостона:

library(choroplethrZip)
library(ggplot2)

data(df_pop_zip)

zip_choropleth(df_pop_zip,
               state_zoom = c("massachusetts","rhode island","connecticut")) +
  geom_point(aes(x=-71.057083, y=42.361145), size=5, color="black") 

choropleth with dot for Boston

Примечание: это просто добавляет точку. Вы должны использовать что-то еще, чтобы добавить текст. Посмотрите файлы справки ggplot2 для ?geom_label и ?geom_text.

...