Выделение областей карты с помощью прямоугольников

#r #ggplot2

Вопрос:

Я создал карту Ньюфаундленда, Канада, и хочу выделить залив Тринити. Я пытался сделать это с помощью geom_rect . Это работает для меня (красный прямоугольник), хотя я хотел бы повернуть прямоугольник так, чтобы он содержал только залив, а не окружающую землю (например, оранжевый прямоугольник). введите описание изображения здесь Вот мой код:

 library(ggplot2) Provinces lt;- getData("GADM", country="CAN", level=1)  d lt;- ggplot()    geom_polygon(data=Provinces, aes(long, lat, group=group), colour="grey10",   fill="cadetblue1", alpha=0.8)    coord_map(xlim=c(-60, -52), ylim=c(46, 52))    theme_bw()   geom_rect(aes(xmin=-53, xmax=-53.75, ymin= 47.5, ymax=48.5), alpha=0,   colour="red", size=1, linetype=1) d  

Есть какие-нибудь предложения? Заранее спасибо!

Ответ №1:

Используйте geom_polygon() вместо _rect() . Определите параметры и передайте их. Это требует игры с параметрами, но это легко сделать — моя машина работает, и требуется слишком много времени, чтобы перенести ее через залив, как вы хотите.

 poly lt;- tibble(x = c(-53.75, -53, -52, -52.75), y = c(47.5, 47.5, 48.5, 48.5))  d lt;- ggplot()    geom_polygon(data=Provinces, aes(long, lat, group=group), colour="grey10", fill="cadetblue1", alpha=0.8)    coord_map(xlim=c(-60, -52), ylim=c(46, 52))    theme_bw()   geom_polygon(data = poly, aes(x = x, y = y), alpha=0, colour="red", size=1, linetype=1)  

введите описание изображения здесь

Ответ №2:

Не эксперт здесь, но не могли бы вы, возможно, использовать аргументы hjust и vjust внутри geom_rect ?

Комментарии:

1. Я не думаю, что вы можете использовать hjust и vjust в geom_rect в качестве аргументов!

2. Пожалуйста, прокомментируйте, если вы не уверены в ответе. Не публикуйте ответы, если вы не уверены на 100%.