Cowplot 包:如何在 R 中使用 plot_grid() 将许多图排列成一个图后垂直向下对齐图例

Ali*_*bbs 1 maps r legend ggplot2 cowplot

概述:

我使用下面R 代码制作了一系列地图,并使用Cowplot 包中的 plot_grid()使用下面称为“QuercusRobur1”“QuercusRobur2”的数据框将图排列到一个绘图窗口上。

情节看起来非常好;然而,每个地块的图例都没有对齐,看起来不整齐。

有谁知道如何使用 plot_grid 在新的绘图排列中垂直向下对齐这些图例?

如果有人可以提供帮助,我将不胜感激

代码

##Import Packages
    library(ggplot2)
    library(maps)
    library(mapdata)
    library(tidyverse)

 ##Get a map of the UK from maps:
        UK <- map_data(map = "world", region = "UK")
        head(UK)
        dim(UK)

        ##Produce point data

        MapUK<-ggplot(data = UK, aes(x = long, y = lat, group = group)) + 
                   geom_polygon() +
                   coord_map()

        ##head
        head(QuercusRobur1)
        head(QuercusRobur2)

        ##Remove weird data points
        QuercusRobur1<-QuercusRobur1%>%filter(Longitude<=3)

        ##Observation 1

        p1 <- ggplot(QuercusRobur1,
                    aes(x = Longitude, y = Latitude)) +
          geom_polygon(data = UK,
                       aes(x = long, y = lat, group = group), 
                       inherit.aes = FALSE) +
          geom_point() +
          coord_map(xlim = c(-10, 5)) + #limits added as there are some points really far away
          theme_classic()

   Urban1<-p1 + 
          aes(color = Urbanisation_index) + 
          scale_color_discrete(name = "Urbanisation Index",
                               labels = c("Urban", "Suburban", "Village", "Rural"))

   Stand1<-p1 + 
          aes(color = Stand_density_index) + 
          scale_color_discrete(name = "Stand Density Index",
                               labels = c("Standing alone",
                                          "Within a few trees or close proximity to other trees", 
                                          "Within a stand of 10-30 trees",
                                          "Large or woodland"))

 Phenology1<-p1 + 
          aes(color = factor(Phenological_Index)) +
          scale_color_discrete(name = "Phenological Index",
                               labels = c("No indication of autumn timing", 
                                          "First autumn tinting", 
                                          "Partial autumn tinting (>25% of leaves)", 
                                          "Advanced autumn tinting (>75% of leaves)"))

 ##Observation 2

 p2 <- ggplot(QuercusRobur2,
             aes(x = Longitude, y = Latitude)) +
   geom_polygon(data = UK,
                aes(x = long, y = lat, group = group), 
                inherit.aes = FALSE) +
   geom_point() +
   coord_map(xlim = c(-10, 5)) + #limits added as there are some points really far away
   theme_classic()

 Urban2<-p2 + 
   aes(color = Urbanisation_index) + 
   scale_color_discrete(name = "Urbanisation Index",
                        labels = c("Urban", "Suburban", "Village", "Rural"))

 Stand2<-p2 + 
   aes(color = Stand_density_.index) + 
   scale_color_discrete(name = "Stand Density Index",
                        labels = c("Standing alone",
                                   "Within a few trees or close proximity to other trees", 
                                   "Within a stand of 10-30 trees",
                                   "Large or woodland"))

 Phenology2<-p2 + 
   aes(color = factor(Phenological_Index)) +
   scale_color_discrete(name = "Phenological Index",
                        labels = c("No indication of autumn timing", 
                                   "First autumn tinting", 
                                   "Partial autumn tinting (>25% of leaves)", 
                                   "Advanced autumn tinting (>75% of leaves)"))

##Arrange the individual plots into one main plot



plot_grid(Urban1 + ggtitle("Observational Period 1"), 
       Urban2 + ggtitle("Observational Period 2"), 
       Stand1,
       Stand2,
       Phenology1,
       Phenology2, 
       labels=c("A: Urbanisation Index", "B: Urbanisation Index",
                "C: Stand Density Index","D: Stand Density Index",
                "E: Phenological Index","F: Phenological Index"),
       align = "v", 

       label_fontface="bold",
       label_fontfamily="Times New Roman",
       label_size = 8,
       rel_widths = c(1, 1.3),
       ncol = 2,
       nrow = 3,
       hjust = 0, 
       label_x = 0.01)
Run Code Online (Sandbox Code Playgroud)

从 R 代码生成的图 在此处输入图片说明

期望输出

在此处输入图片说明

数据框 - QuercusRobur1

structure(list(Obs_.no = c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 19L, 
20L, 21L, 22L, 23L, 24L, 25L, 28L, 29L, 30L, 31L, 32L, 33L, 34L, 
35L, 36L, 37L, 38L, 39L, 44L, 45L, 46L, 47L, 57L, 58L, 59L, 60L, 
61L, 62L, 63L, 64L, 65L, 66L, 67L, 68L, 69L, 70L, 71L, 72L, 74L, 
75L, 81L, 82L, 83L, 84L, 85L, 86L, 87L, 88L, 89L, 90L, 91L, 93L, 
102L, 103L, 104L, 112L, 113L, 114L, 115L, 116L, 117L, 118L, 119L, 
120L, 121L, 122L, 123L, 124L, 125L, 126L, 127L, 128L, 129L, 130L, 
131L, 135L, 136L, 137L, 138L, 143L, 144L, 145L, 146L, 147L, 148L, 
149L, 150L, 151L, 152L, 153L, 154L, 155L, 158L, 159L, 160L, 161L, 
162L, 163L, 164L, 165L, 169L, 170L, 171L, 172L, 177L, 178L, 179L, 
180L, 181L, 182L, 183L, 184L, 185L, 186L, 187L, 188L, 189L, 190L, 
191L, 192L, 193L, 194L, 195L, 196L, 200L), Date_observed = structure(c(4L, 
15L, 6L, 6L, 6L, 6L, 2L, 2L, 8L, 8L, 8L, 8L, 8L, 8L, 6L, 6L, 
6L, 6L, 6L, 6L, 11L, 11L, 11L, 11L, 12L, 7L, 7L, 9L, 9L, 9L, 
9L, 5L, 5L, 5L, 5L, 14L, 14L, 14L, 14L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 6L, 6L, 5L, 5L, 9L, 9L, 9L, 9L, 3L, 3L, 3L, 3L, 4L, 4L, 
1L, 1L, 11L, 6L, 6L, 6L, 6L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 
10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 3L, 3L, 3L, 3L, 11L, 
11L, 11L, 4L, 4L, 4L, 4L, 8L, 8L, 10L, 10L, 10L, 10L, 9L, 9L, 
9L, 9L, 3L, 3L, 3L, 3L, 9L, 9L, 9L, 9L, 2L, 2L, 2L, 2L, 13L, 
13L, 13L, 13L, 8L, 8L, 8L, 8L, 10L, 10L, 10L, 10L, 3L, 3L, 3L, 
3L, 13L), .Label = c("10/1/18", "10/19/18", "10/20/18", "10/21/18", 
"10/22/18", "10/23/18", "10/24/18", "10/25/18", "10/26/18", "10/27/18", 
"10/28/18", "10/28/19", "10/29/18", "12/9/18", "8/20/18"), class = "factor"), 
    Latitude = c(51.4175, 52.12087, 52.0269, 52.0269, 52.0269, 
    52.0269, 52.947709, 52.947709, 51.491811, 51.491811, 52.59925, 
    52.59925, 52.59925, 52.59925, 51.60157, 51.60157, 52.6888, 
    52.6888, 52.6888, 52.6888, 50.697802, 50.697802, 50.697802, 
    50.697802, 53.62417, 50.446841, 50.446841, 53.959679, 53.959679, 
    53.959679, 53.959679, 51.78375, 51.78375, 51.78375, 51.78375, 
    51.456965, 51.456965, 51.456965, 51.456965, 51.3651, 51.3651, 
    51.3651, 51.3651, 52.01182, 52.01182, 52.01182, 52.01182, 
    50.114277, 50.114277, 51.43474, 51.43474, 51.10676, 51.10676, 
    51.10676, 51.10676, 50.435984, 50.435984, 50.435984, 50.435984, 
    51.78666, 51.78666, 52.441088, 52.441088, 52.552344, 49.259471, 
    49.259471, 49.259471, 49.259471, 50.461625, 50.461625, 50.461625, 
    50.461625, 51.746642, 51.746642, 51.746642, 51.746642, 52.2501, 
    52.2501, 52.2501, 52.2501, 52.423336, 52.423336, 52.423336, 
    52.423336, 53.615575, 53.615575, 53.615575, 53.615575, 51.08474, 
    51.08474, 51.08474, 53.19329, 53.19329, 53.19329, 53.19329, 
    55.96785, 55.96785, 56.52664, 56.52664, 56.52664, 56.52664, 
    51.8113, 51.8113, 51.8113, 51.8113, 52.580157, 52.580157, 
    52.580157, 52.580157, 50.52008, 50.52008, 50.52008, 50.52008, 
    51.48417, 51.48417, 51.48417, 51.48417, 54.58243, 54.58243, 
    54.58243, 54.58243, 52.58839, 52.58839, 52.58839, 52.58839, 
    52.717283, 52.717283, 52.717283, 52.717283, 50.740764, 50.740764, 
    50.740764, 50.740764, 52.57937), Longitude = c(-0.32118, 
    -0.29293, -0.7078, -0.7078, -0.7078, -0.7078, -1.435407, 
    -1.435407, -3.210324, -3.210324, 1.33011, 1.33011, 1.33011, 
    1.33011, -3.67111, -3.67111, -3.30909, -3.30909, -3.30909, 
    -3.30909, -2.11692, -2.11692, -2.11692, -2.11692, -2.43155, 
    -3.706923, -3.706923, -1.061008, -1.061008, -1.061008, -1.061008, 
    -0.65046, -0.65046, -0.65046, -0.65046, -2.624917, -2.624917, 
    -2.624917, -2.624917, 0.70706, 0.70706, 0.70706, 0.70706, 
    -0.70082, -0.70082, -0.70082, -0.70082, -5.541128, -5.541128, 
    0.45981, 0.45981, -2.32071, -2.32071, -2.32071, -2.32071, 
    -4.105617, -4.105617, -4.105617, -4.105617, -0.71433, -0.71433, 
    -0.176158, -0.176158, -1.337177, -123.107788, -123.107788, 
    -123.107788, -123.107788, 3.560973, 3.560973, 3.560973, 3.560973, 
    0.486416, 0.486416, 0.486416, 0.486416, -0.8825, -0.8825, 
    -0.8825, -0.8825, -1.787563, -1.787563, -1.787563, -1.787563, 
    -2.432959, -2.432959, -2.432959, -2.432959, -0.73645, -0.73645, 
    -0.73645, -0.63793, -0.63793, -0.63793, -0.63793, -3.18084, 
    -3.18084, -3.40313, -3.40313, -3.40313, -3.40313, -0.22894, 
    -0.22894, -0.22894, -0.22894, -1.948571, -1.948571, -1.948571, 
    -1.948571, -4.20756, -4.20756, -4.20756, -4.20756, -0.34854, 
    -0.34854, -0.34854, -0.34854, -5.93229, -5.93229, -5.93229, 
    -5.93229, -1.96843, -1.96843, -1.96843, -1.96843, -2.410575, 
    -2.410575, -2.410575, -2.410575, -2.361234, -2.361234, -2.361234, 
    -2.361234, -1.89325), Altitude = c(5L, 0L, 68L, 68L, 68L, 
    68L, 104L, 104L, 15L, 15L, 23L, 23L, 23L, 23L, 184L, 184L, 
    176L, 176L, 176L, 176L, 12L, 12L, 12L, 12L, 178L, 36L, 36L, 
    11L, 11L, 11L, 11L, 210L, 210L, 210L, 210L, 97L, 97L, 97L, 
    97L, 23L, 23L, 23L, 23L, 0L, 0L, 0L, 0L, 9L, 9L, 4L, 4L, 
    200L, 200L, 200L, 200L, 160L, 160L, 160L, 160L, 166L, 166L, 
    0L, 0L, 0L, 47L, 47L, 47L, 47L, 58L, 58L, 58L, 58L, 43L, 
    43L, 43L, 43L, 97L, 97L, 97L, 97L, 133L, 133L, 133L, 133L, 
    123L, 123L, 123L, 123L, 128L, 128L, 128L, 15L, 15L, 15L, 
    15L, 14L, 14L, 65L, 65L, 65L, 65L, 129L, 129L, 129L, 129L, 
    140L, 140L, 140L, 140L, 18L, 18L, 18L, 18L, 30L, 30L, 30L, 
    30L, 19L, 19L, 19L, 19L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    96L, 96L, 96L, 96L, 169L), Species = structure(c(1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = "Quercus robur", class = "factor"), 
    Tree_diameter = c(68.8, 10, 98.5, 97, 32.5, 45.1, 847, 817, 
    62, 71, 140, 111.4, 114.6, 167.1, 29, 40.1, 68, 45, 60, 54, 
    104, 122, 85, 71, 81, 39.8, 43.6, 20.1, 17.8, 15.6, 12.1, 
    81.8, 102.5, 75.5, 57.3, 0.3, 0.2, 0.3, 0.3, 70, 36, 53, 
    44, 31.5, 27.1, 23.3, 22, 69.4, 37.3, 19.9, 14.6, 196, 122, 
    118, 180, 58.6, 54.1, 58, 61.5, 58.4, 61, 134, 64, 52.2, 
    170, 114, 127, 158, 147.4, 135.3, 122.9, 104.1, 263, 237, 
    322, 302, 175, 182, 141, 155, 89, 41, 70, 83, 141, 86.5, 
    82, 114.5, 129, 127, 143, 125, 92, 68, 90, 24.5, 20.1, 63.7, 
    39.8, 66.2, 112.4, 124.5, 94.1, 68.6, 74.4, 23.6, 27.7, 22.9, 
    25.2, 24.2, 54.7, 43, 33.1, 306, 274, 56, 60, 72.5, 128.5, 
    22, 16, 143, 103, 53, 130, 48.4, 69.8, 6.4, 18.6, 129.2, 
    41.7, 57.6, 14, 41.7), Urbanisation_index = c(2L, 1L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
    4L, 4L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 2L, 2L, 2L, 2L, 4L, 4L, 
    4L, 4L, 2L, 2L, 2L, 2L, 4L, 4L, 4L, 4L, 2L, 2L, 2L, 2L, 4L, 
    4L, 4L, 4L, 4L, 4L, 4L, 4L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 
    4L, 2L, 2L, 2L, 2L, 4L, 4L, 4L, 4L, 3L, 3L, 3L, 3L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 
    4L, 4L, 1L, 1L, 4L, 4L, 4L, 4L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
    3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 2L, 2L, 2L, 2L, 4L, 4L, 4L, 4L, 2L), Stand_density_index = c(3L, 
    1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    4L, 4L, 4L, 4L, 2L, 2L, 2L, 2L, 4L, 1L, 1L, 4L, 4L, 4L, 4L, 
    4L, 4L, 4L, 4L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 
    3L, 3L, 3L, 3L, 3L, 2L, 2L, 4L, 4L, 3L, 3L, 3L, 3L, 4L, 3L, 
    4L, 4L, 3L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 3L, 3L, 3L, 
    2L, 2L, 2L, 2L, 2L, 3L, 4L, 4L, 4L, 4L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 1L, 4L, 4L, 4L, 4L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 
    2L, 2L, 2L, 2L, 3L, 3L, 3L, 2L, 4L, 4L, 4L, 4L, 4L), Canopy_Index = c(85L, 
    85L, 85L, 75L, 45L, 25L, 75L, 65L, 75L, 75L, 95L, 95L, 95L, 
    95L, 95L, 65L, 85L, 65L, 95L, 85L, 85L, 85L, 75L, 75L, 65L, 
    85L, 85L, 75L, 75L, 85L, 65L, 95L, 85L, 95L, 95L, 75L, 75L, 
    85L, 85L, 85L, 85L, 85L, 75L, 85L, 85L, 85L, 85L, 75L, 75L, 
    85L, 85L, 65L, 75L, 85L, 75L, 95L, 95L, 95L, 95L, 75L, 65L, 
    95L, 95L, 55L, 75L, 65L, 75L, 65L, 85L, 95L, 95L, 75L, 95L, 
    75L, 95L, 65L, 75L, 75L, 85L, 85L, 65L, 95L, 65L, 65L, 65L, 
    65L, 65L, 65L, 85L, 85L, 75L, 95L, 85L, 85L, 75L, 45L, 55L, 
    35L, 35L, 25L, 25L, 95L, 85L, 75L, 85L, 85L, 75L, 75L, 65L, 
    75L, 85L, 65L, 45L, 95L, 95L, 95L, 95L, 65L, 75L, 45L, 35L, 
    75L, 95L, 95L, 85L, 75L, 65L, 85L, 95L, 75L, 85L, 85L, 95L, 
    65L), Phenological_Index = c(2L, 4L, 2L, 2L, 4L, 4L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 2L, 3L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 1L, 2L, 1L, 1L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 2L, 2L, 2L, 3L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 4L, 4L, 1L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 3L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 
    3L, 4L, 4L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
    4L, 1L, 1L, 1L, 1L, 3L, 2L, 3L, 3L, 3L, 3L, 4L, 3L, 2L, 3L, 
    2L, 2L, 2L, 1L, 3L, 1L, 4L)), class = "data.frame", row.names = c(NA, 
-134L))
Run Code Online (Sandbox Code Playgroud)

数据框 - QuercusRobur2

   structure(list(X = c(1L, 2L, 3L, 4L, 13L, 14L, 15L, 18L, 19L, 
20L, 21L, 22L, 23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, 35L, 36L, 
37L, 38L, 48L, 49L, 50L, 51L, 52L, 53L, 54L, 55L, 56L, 57L, 58L, 
59L, 63L, 64L, 68L, 69L, 70L, 71L, 72L, 73L, 74L, 75L, 76L, 77L, 
78L, 80L, 89L, 90L, 91L, 95L, 96L, 97L, 98L, 99L, 100L, 101L, 
102L, 103L, 104L, 105L, 106L, 107L, 108L, 109L, 110L, 111L, 112L, 
113L, 114L, 118L, 119L, 120L, 121L, 126L, 127L, 128L, 129L, 130L, 
131L, 132L, 133L, 134L, 135L, 136L, 137L, 138L, 141L, 142L, 143L, 
144L, 148L, 149L, 150L, 151L, 156L, 157L, 158L, 159L, 160L, 161L, 
162L, 163L, 164L, 165L, 166L, 167L, 168L, 169L, 170L, 171L, 172L, 
173L, 174L, 175L, 179L, 180L, 181L, 182L, 183L, 185L, 187L, 189L, 
190L, 191L, 192L, 193L, 194L, 195L, 196L, 208L, 209L, 210L, 212L, 
214L, 225L, 226L, 227L, 228L, 229L, 230L, 231L, 242L, 243L, 244L, 
245L, 246L, 247L, 248L, 249L, 250L, 251L, 252L, 253L, 254L, 255L, 
256L, 257L, 258L, 259L, 260L, 261L), Obs_no = c(1L, 2L, 3L, 4L, 
13L, 14L, 15L, 18L, 19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L, 27L, 
28L, 29L, 30L, 35L, 36L, 37L, 38L, 48L, 49L, 50L, 51L, 52L, 53L, 
54L, 55L, 56L, 57L, 58L, 59L, 63L, 64L, 68L, 69L, 70L, 71L, 72L, 
73L, 74L, 75L, 76L, 77L, 78L, 80L, 89L, 90L, 91L, 95L, 96L, 97L, 
98L, 99L, 100L, 101L, 102L, 103L, 104L, 105L, 106L, 107L, 108L, 
109L, 110L, 111L, 112L, 113L, 114L, 118L, 119L, 120L, 121L, 126L, 
127L, 128L, 129L, 130L, 131L, 132L, 133L, 134L, 135L, 136L, 137L, 
138L, 141L, 142L, 143L, 144L, 148L, 149L, 150L, 151L, 156L, 157L, 
158L, 159L, 160L, 161L, 162L, 163L, 164L, 165L, 166L, 167L, 168L, 
169L, 170L, 171L, 172L, 173L, 174L, 175L, 179L, 180L, 181L, 182L, 
183L, 185L, 187L, 189L, 190L, 191L, 192L, 193L, 194L, 195L, 196L, 
208L, 209L, 210L, 212L, 214L, 225L, 226L, 227L, 228L, 229L, 230L, 
231L, 242L, 243L, 244L, 245L, 246L, 247L, 248L, 249L, 250L, 251L, 
252L, 253L, 254L, 255L, 256L, 257L, 258L, 259L, 260L, 261L), 
    Date_observed = structure(c(9L, 14L, 3L, 3L, 12L, 12L, 10L, 
    10L, 8L, 8L, 8L, 8L, 11L, 11L, 11L, 11L, 5L, 5L, 9L, 9L, 
    13L, 13L, 13L, 13L, 8L, 8L, 8L, 8L, 13L, 13L, 13L, 13L, 7L, 
    7L, 7L, 7L, 6L, 6L, 11L, 11L, 11L, 11L, 11L, 11L, 4L, 4L, 
    4L, 4L, 12L, 12L, 12L, 12L, 5L, 1L, 1L, 1L, 1L, 5L, 5L, 5L, 
    5L, 12L, 12L, 12L, 12L, 11L, 11L, 11L, 11L, 2L, 2L, 2L, 2L, 
    3L, 3L, 3L, 3L, 13L, 13L, 13L, 8L, 8L, 8L, 8L, 13L, 13L, 
    12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 13L, 13L, 13L, 13L, 
    3L, 3L, 3L, 3L, 13L, 13L, 13L, 13L, 10L, 10L, 10L, 10L, 12L, 
    12L, 12L, 12L, 3L, 3L, 3L, 3L, 13L, 13L, 5L, 5L, 5L, 11L, 
    11L, 12L, 12L, 12L, 12L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 
    9L, 9L, 12L, 12L, 12L, 12L, 8L, 8L, 8L, 5L, 5L, 5L, 5L, 12L, 
    12L, 12L, 12L, 11L, 11L, 11L, 11L, 13L, 13L, 13L, 13L, 5L, 
    5L, 5L, 5L), .Label = c("10/23/18", "11/18/18", "11/30/18", 
    "12/1/18", "12/10/18", "12/12/18", "12/2/18", "12/3/18", 
    "12/4/18", "12/6/18", "12/7/18", "12/8/18", "12/9/18", "9/10/18"
    ), class = "factor"), Latitude = c(51.41752, 52.243806, 52.947709, 
    52.947709, 51.491811, 51.491811, 51.60157, 51.60157, 52.68959, 
    52.68959, 52.68959, 52.68959, 50.697802, 50.697802, 50.697802, 
    50.697802, 53.62417, 53.62417, 50.446841, 50.446841, 53.959679, 
    53.959679, 53.959679, 53.959679, 51.78375, 51.78375, 51.78375, 
    51.78375, 51.456965, 51.456965, 51.456965, 51.456965, 52.011812, 
    52.011812, 52.011812, 52.011812, 50.121978, 50.121978, 51.43474, 
    51.43474, 51.10708, 51.10708, 51.10708, 51.10708, 50.435984, 
    50.435984, 50.435984, 50.435984, 51.78666, 51.78666, 52.441088, 
    52.441088, 52.552344, 49.259471, 49.259471, 49.259471, 49.259471, 
    50.462, 50.462, 50.462, 50.462, 51.746642, 51.746642, 51.746642, 
    51.746642, 52.2501, 52.2501, 52.2501, 52.2501, 52.42646, 
    52.42646, 52.42646, 52.42646, 53.615575, 53.615575, 53.615575, 
    53.615575, 51.08478, 51.08478, 51.08478, 53.19329, 53.19329, 
    53.19329, 53.19329, 55.968437, 55.968437, 56.52664, 56.52664, 
    56.52664, 56.52664, 51.8113, 51.8113, 51.8113, 51.8113, 50.52008, 
    50.52008, 50.52008, 50.52008, 51.48417, 51.48417, 51.48417, 
    51.48417, 54.58243, 54.58243, 54.58243, 54.58243, 52.58839, 
    52.58839, 52.58839, 52.58839, 52.717283, 52.717283, 52.717283, 
    52.717283, 50.740764, 50.740764, 50.740764, 50.740764, 50.733412, 
    50.733412, 50.79926, 50.79926, 50.79926, 53.675788, 53.675788, 
    48.35079, 48.35079, 48.35079, 48.35079, 51.36445, 51.36445, 
    51.36445, 51.36445, 52.122402, 52.122402, 52.122402, 52.16104, 
    52.16104, 51.88468, 51.88468, 51.88468, 51.88468, 52.34015, 
    52.34015, 52.34015, 52.026042, 52.026042, 52.026042, 52.026042, 
    51.319032, 51.319032, 51.319032, 51.319032, 51.51365, 51.51365, 
    51.51365, 51.51365, 53.43202, 53.43202, 53.43202, 53.43202, 
    51.50797, 51.50797, 51.50797, 51.50797), Longitude = c(-0.32116, 
    1.30786, -1.435407, -1.435407, -3.210324, -3.210324, -3.67111, 
    -3.67111, -3.3081, -3.3081, -3.3081, -3.3081, -2.11692, -2.11692, 
    -2.11692, -2.11692, -2.43155, -2.43155, -3.706923, -3.706923, 
    -1.061008, -1.061008, -1.061008, -1.061008, -0.65046, -0.65046, 
    -0.65046, -0.65046, -2.624917, -2.624917, -2.624917, -2.624917, 
    -0.70082, -0.70082, -0.70082, -0.70082, -5.555169, -5.555169, 
    0.45981, 0.45981, -2.32027, -2.32027, -2.32027, -2.32027, 
    -4.105617, -4.105617, -4.105617, -4.105617, -0.71433, -0.71433, 
    -0.176158, -0.176158, -1.337177, -123.107788, -123.107788, 
    -123.107788, -123.107788, -3.5607, -3.5607, -3.5607, -3.5607, 
    0.486416, 0.486416, 0.486416, 0.486416, -0.8825, -0.8825, 
    -0.8825, -0.8825, 

dww*_*dww 7

将您的超长示例浓缩为一个更简单的版本,只有 2 个显示问题的面板:

plot_grid(Urban1, Stand1, align = "v", ncol = 1)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

我们可以使用对齐图例 theme(legend.justification = ...

plot_grid(
  Urban1 + theme(legend.justification = c(0,1)), 
  Stand1 + theme(legend.justification = c(0,1)), 
  align = "v", ncol = 1)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明