добавить легенду в ggmap для данных gemo_polygon - PullRequest
0 голосов
/ 25 апреля 2018

Я использовал два набора данных (MR + MRTag) для построения точек на ggmap.

MR
detect_date        Latitude      Longitude    species
12/04/2016 11:08    -6.6524      71.3475      Manta Ray
12/04/2016 11:09    -6.6524      71.3475      Manta Ray
12/04/2016 11:10    -6.6524      71.3475      Manta Ray
16/04/2016 21:27    -6.6524      71.3475      Manta Ray

MRTag
species    taggingdate   deploy_lat  deploy_lon
Manta Ray   3/24/2016   -5.4191      71.83855
Manta Ray   02/05/2013  -5.2568      71.65768333
Manta Ray   02/07/2013  -5.33448     71.9812
Manta Ray   02/08/2013  -5.3046      71.94231667

Затем я использовал этот код для отображения данных на карте и создал легенду для карты.

 MR_plot <- ggmap(MR_map) + 
 geom_point(data = MR, aes(x = Longitude, y = Latitude,
                        color = 'detect', shape = 'detect', fill = 
                        'detect'), size = 1) +
 geom_point(data = MRTag, aes(x = deploy_lon, y = deploy_lat,
                           color = 'tag', shape = 'tag', fill = 
                          'tag')) +
 xlab("Longitude") + 
 ylab("Latitude") +
 scale_color_manual(name = 'legend', values = c(detect = 'white', tag 
                    = '#00FF00'), 
                   labels = c("Detections", "Tagging Locations")) +
 scale_fill_manual(name = 'legend', values = c(detect = NA, tag = 
                   '#00FF00'),
                   labels = c("Detections", "Tagging Locations")) +
 scale_shape_manual(name = 'legend', values = c(detect = 1, tag = 
                    25),
                    labels = c("Detections", "Tagging Locations")) +
 theme(legend.title=element_blank()) +
 theme(legend.box.background = element_rect(),legend.box.margin = 
 margin(6, 6, 6, 6)) +
 theme(legend.key = element_rect(fill = "#003399", colour = "black"))

Который создает этот график plot 1

Затем я рассчитал некоторые данные о распределении и нанес их на существующую карту.

MR_plot +
  geom_polygon(data= extent_KUD, 
               aes(x = long, y = lat, group = group), 
               fill = "white", color = "white", alpha = 0.1) +
  geom_polygon(data = core_KUD, 
               aes(x = long, y = lat, group=group), 
               fill = "red", alpha = 0.2, color = "red") +
  ggtitle("Kernel utilisation distributions for manta rays 2015-18")

И создал этот график

plot2

Затем я попытался создать еще одну легендупереместив параметры цвета и заливки в aes () и используя функции scale_x_manual, используя этот код;

MR_plot +
  geom_polygon(data= extent_KUD, 
           aes(x = long, y = lat, group = 'extent', color = 'extent', 
               fill = 'extent'), alpha = 0.1) +
  geom_polygon(data = core_KUD, 
           aes(x = long, y = lat, group = 'core', color = 'core', 
               fill = 'core'), alpha = 0.2) +
  scale_color_manual(name = 'legend', values = c(extent = 'white', 
                     tag = 'red'),
                     labels = c("Extent", "Core")) +
  scale_fill_manual(name = 'legend', values = c(extent = 'white', 
                    core= 'red'),
                    labels = c("Extent", "Core")) +
  ggtitle("Kernel utilisation distributions for blacktip reef sharks 
  2014-17") 

Однако я получаю ошибку: недостаточно значений в ручном масштабировании.Требуется 4, но только 2.

Каков наилучший способ добавления легенды для полигонов экстента и ядра на существующий график?

...