распределение точек на карте с помощью ggplot - PullRequest
1 голос
/ 30 марта 2020

У меня есть эти файлы и данные:

https://gofile.io/?c=JvglSo

https://pastebin.com/ePymwswn

и этот скрипт:

#open shp file
library(rgdal)
map <- readOGR(dsn= "/rj_municipios", layer = "33MUE250GC_SIR")

#open data file
ind_mapa <- read.csv("ind_mapa.csv", sep=";")

#map
library(ggplot2)
library(ggrepel)
mapdf <-fortify(map)

ggplot(data= mapdf, aes(x=long, y=lat, group=group)) +
  geom_path() +
  coord_map("mercator") +
  xlim(-42.040,-41.973)+
  ylim(-23.015, -22.949)+
  theme_bw() +
  geom_jitter(data=ind_mapa, width= .0015, height = .0015, size=3,alpha=.7,
              aes(x=lon, y=lat, group= code, color = code)) +
  geom_text_repel(data= ind_mapa, aes(x=lon, y=lat), group= code, label=ano)

с этим у меня две проблемы, метка "ano" не появляется:

Ошибка в слое (data = data, mapping = mapping, stat = stat, geom = GeomTextRepel: объектный код не найден 1022 *

1 Ответ

1 голос
/ 31 марта 2020

Ваши label и group значения должны быть в эстетике c. Ваша последняя строка кода должна выглядеть следующим образом:

geom_text_repel(data= ind_mapa, aes(x=lon, y=lat, group= code, label=ano))

Полученное сообщение об ошибке дает подсказку: geom = GeomTextRepel, : object 'code' not found. Используя это, вы знаете, что это проблема с вызовом geom_text_repel() и, в частности, с аргументом для code.

Интересный факт: измените последнюю строку на geom_text_repel(data= ind_mapa, aes(x=lon, y=lat, group= code), label=ano), где только group=code находится в aes() звонок. Вы должны увидеть то же сообщение об ошибке, но с object 'ano' not found.

...