Я не могу добавить geom_point поверх существующей карты geom_map, "различающееся количество строк"? - PullRequest
0 голосов
/ 25 января 2019

Я пытаюсь создать карту, используя ggplot2 и geom_map, но у меня возникают проблемы с выполнением того, что должно быть простым делом ... добавление набора координат сверху!

Вот мой первый бит кода для базовой карты, основанный на шейп-файле, который я уже загрузил как mapbasis:

p1<-ggplot(mapbasis,aes(long,lat,map_id=id,fill=id))+
  geom_map(map=mapbasis)

Это работает как ожидалось:

Просто чтобы проверить код, я сейчас создаю фрейм данных только с некоторыми координатами:

test<-data.frame(pointid=c(1,2,3),lat=c(53, 51, 50),lon=c(-0.2, -0.1, -1.4))

Затем я пытаюсь добавить очки следующим образом:

p1+geom_point(aes(x=lon,y=lat),size=10,data=test)

Затем я получаю сообщение об ошибке вместо карты с тремя точками:

Error in data.frame ... arguments imply differing number of rows: 3,0

Что происходит? У меня явно есть координаты долготы и широты Я также попытался построить только объект test, и он отлично работает.

Может кто-нибудь подсказать, что может быть не так?

1 Ответ

0 голосов
/ 28 января 2019

Ответ, предоставленный @ TinglTanglBob

Используйте значениеgarit.aes = FALSE, чтобы избежать путаницы между исходной эстетикой, определенной в карте geom_map, и новыми значениями aes, указанными в точке geom_point,

...