# Options
ncol.wrap <- 7
x.wrap <- 0.85
y.wrap <- 0.09
height.wrap <- 10
width.wrap <- 14

Traits selected in this study:

  • Height:

    • In Portugal (Fundão): height in October 2012 when the trees were 20-month old.

    • In Asturias(Cabada, Spain): height in November 2012 when the trees were 21-month old.

    • In Bordeaux (Pierroton, France): height in November 2013 when the trees were 25-month old & in November 2018 when the trees were 85-month old.

  • Phenology:

    • mean bud burst (=date of brachybalst emergence) over four years (2013, 2014, 2015 and 2017) in Bordeaux (°C-day)

    • mean duration of bud burst (in 2014)2014, 2015 and 2017) in Bordeaux (°C-day)

  • Functional traits

    • \(\delta^{13}C\)

    • Specific Leaf Area (SLA)

In the document, the plots colored in green correspond to the trait selected in the study.

selected.drivers <- c("A","D",
                      "mean_MCMT","mean_MSP","var_MCMT","var_MSP",
                      "SH.20km.PC1","SH.20km.PC2","SH.1km.PC1","SH.1km.PC2")

# Load data
drivers <- readRDS(file="data/DF_Drivers.rds") %>% 
    dplyr::select(prov,all_of(selected.drivers))

data <- readRDS(file="data/ClonapinData/PhenoDataNovember2019_AnnualTraits.rds") %>% 
   dplyr::filter(!(prov=="MAD")) %>% 
  inner_join(drivers,by="prov")

1 Height

data %>% dplyr::select(contains("ht")) %>% summary
##   BDX_htnov13      BDX_htnov14    BDX_htnov15    BDX_htnov18    POR_htjan12     POR_htmay12     POR_htoct12      POR_htmay13      AST_htdec11     AST_htnov12      AST_htmar14  
##  Min.   :  40.0   Min.   :  50   Min.   : 190   Min.   : 530   Min.   : 20.0   Min.   : 20.0   Min.   :  90.0   Min.   : 150.0   Min.   : 70.0   Min.   :  90.0   Min.   : 230  
##  1st Qu.: 600.0   1st Qu.: 950   1st Qu.:1360   1st Qu.:3050   1st Qu.:155.0   1st Qu.:230.0   1st Qu.: 350.0   1st Qu.: 520.0   1st Qu.:230.0   1st Qu.: 580.0   1st Qu.:1020  
##  Median : 720.0   Median :1140   Median :1680   Median :3840   Median :210.0   Median :320.0   Median : 450.0   Median : 640.0   Median :280.0   Median : 700.0   Median :1250  
##  Mean   : 737.8   Mean   :1161   Mean   :1712   Mean   :3792   Mean   :213.9   Mean   :332.9   Mean   : 463.1   Mean   : 646.8   Mean   :288.9   Mean   : 710.7   Mean   :1252  
##  3rd Qu.: 860.0   3rd Qu.:1350   3rd Qu.:2040   3rd Qu.:4550   3rd Qu.:265.0   3rd Qu.:420.0   3rd Qu.: 560.0   3rd Qu.: 760.0   3rd Qu.:340.0   3rd Qu.: 840.0   3rd Qu.:1470  
##  Max.   :1650.0   Max.   :2550   Max.   :3770   Max.   :7660   Max.   :580.0   Max.   :870.0   Max.   :1150.0   Max.   :1450.0   Max.   :700.0   Max.   :1640.0   Max.   :2670  
##  NA's   :8448     NA's   :8449   NA's   :8468   NA's   :8477   NA's   :7542    NA's   :7920    NA's   :8940     NA's   :9027     NA's   :7725    NA's   :7713     NA's   :7718

1.1 Bordeaux (France) - November 2013 and 2018

1.1.1 All height values

plot_grid(
ggplot(data, aes(x= BDX_htnov13)) + 
  geom_histogram(binwidth = 20, fill="seagreen3") +  
  theme_bw() + 
  labs(x="Height 2013",y="") +
  annotate("text",x=1500,y=150,label=paste0("Var = ",round(var(data$BDX_htnov13,na.rm=T),2))),

ggplot(data, aes(x= BDX_htnov14)) + 
  geom_histogram(binwidth = 20) +  
  theme_bw() + 
  labs(x="Height 2014",y="") +
  annotate("text",x=2300,y=80,label=paste0("Var = ",round(var(data$BDX_htnov14,na.rm=T),2))),

ggplot(data, aes(x= BDX_htnov15)) + 
  geom_histogram(binwidth = 20) +  
  theme_bw() +
  labs(x="Height 2015",y="") +
  annotate("text",x=3000,y=60,label=paste0("Var = ",round(var(data$BDX_htnov15,na.rm=T),2))),

ggplot(data, aes(x= BDX_htnov18)) + 
  geom_histogram(binwidth = 20, fill="seagreen3") +  
  theme_bw() + 
  labs(x="Height 2018",y="") +
  annotate("text",x=6500,y=50,label=paste0("Var = ",round(var(data$BDX_htnov18,na.rm=T),2))))

1.1.2 Height values per provenances

1.1.2.1 Height - 25-month old - November 2013

# Per provenance
# --------------

# Clones are colored according to the main gene pool (the gene pool for which the provenances have the highest proportion of belonging)

p <- ggplot(data, aes(x=BDX_htnov13, fill=as.factor(max.Q))) + 
  geom_histogram(alpha=0.7) + 
  theme_bw()  +
  facet_wrap(~as.factor(prov)) + 
  scale_fill_manual(values=c("orangered3",   # Northern Africa
                              "gold2",       # Corsica
                              "darkorchid3", # Central Spain
                              "navyblue",    # French Atlantic
                              "turquoise2",  # Iberian Atlantic
                              "green3"       # South-eastern Spain
                             ),
                    labels=c("Northern Africa", 
                             "Corsica",
                             "Central Spain",
                             "French Atlantic",
                             "Iberian Atlantic",
                             "South-eastern Spain")
                    ,name="Gene pools") +
  labs(x="",y="") +
  theme(legend.position = c(0.75, 0.07),
        legend.text = element_text(size=12),
        legend.title = element_text(size=14)) + 
  guides(fill=guide_legend(nrow=2))

p

ggsave(p,file="figs/ExploratoryAnalyses/HeightBordeaux2013.png",height=10,width=12)
# Per provenance
# --------------

# Provenances are colored according to the value of MCMT in their location

p <- ggplot(data, aes(x=BDX_htnov13, fill=mean_MCMT)) + 
  geom_histogram(alpha=0.7) + 
  theme_bw()  +
  facet_wrap(~as.factor(prov), ncol = ncol.wrap) +
  labs(x="",y="") +
  scale_fill_gradient2(midpoint = mean(data$mean_MCMT,na.rm=T), 
                        low = "blue",  
                        mid = "yellow",
                        high = "red",
                        space = "Lab" ,
                       name="Mean coldest month temperature") +
  theme(legend.position = c(x.wrap,y.wrap),
        legend.text = element_text(size=10),
        legend.title = element_text(size=12))

p

ggsave(p,file="figs/ExploratoryAnalyses/HeightBordeaux2013_MCMTgradient.png",height=height.wrap,width=width.wrap)

1.1.2.2 Height - 85-month old - November 2018

# Per provenance
# --------------

# Clones are colored according to the main gene pool (the gene pool for which the provenances have the highest proportion of belonging)

p <- ggplot(data, aes(x=BDX_htnov18, fill=as.factor(max.Q))) + 
  geom_histogram(alpha=0.7) + 
  theme_bw()  +
  facet_wrap(~as.factor(prov)) + 
  scale_fill_manual(values=c("orangered3", # Nprthern Africa
                              "gold2",# Corsica
                              "darkorchid3", # Central Spain
                              "navyblue", # french Atlantic
                              "turquoise2", # Iberian Atlantic
                              "green3" # South-eastern Spain
                             ),
                    labels=c("Northern Africa", 
                             "Corsica",
                             "Central Spain",
                             "French Atlantic",
                             "Iberian Atlantic",
                             "South-eastern Spain")
                    ,name="Gene pools") +
  labs(x="",y="") +
  theme(legend.position = c(0.75, 0.07),
        legend.text = element_text(size=12),
        legend.title = element_text(size=14)) + 
  guides(fill=guide_legend(nrow=2))
p

ggsave(p,file="figs/ExploratoryAnalyses/HeightBordeaux2018.png",height=10,width=12)
# Per provenance
# --------------

# Provenances are colored according to the value of MCMT in their location

p <- ggplot(data, aes(x=BDX_htnov18, fill=mean_MCMT)) + 
  geom_histogram(alpha=0.7) + 
  theme_bw()  +
  facet_wrap(~as.factor(prov), ncol = ncol.wrap) +
  labs(x="",y="") +
  scale_fill_gradient2(midpoint = mean(data$mean_MCMT,na.rm=T), 
                        low = "blue",  
                        mid = "yellow",
                        high = "red",
                        space = "Lab" ,
                       name="Mean coldest month temperature") +
  theme(legend.position = c(x.wrap,y.wrap),
        legend.text = element_text(size=10),
        legend.title = element_text(size=12))

p

ggsave(p,file="figs/ExploratoryAnalyses/HeightBordeaux2018_MCMTgradient.png",height=height.wrap,width=width.wrap)

1.2 Cabada (Asturias, Spain) - November 2012

1.2.1 All height values

plot_grid(
ggplot(data, aes(x= AST_htdec11)) + 
  geom_histogram(binwidth = 20) +  
  theme_bw() + 
  labs(x="Height - December 2011",y="") +
  annotate("text",x=580,y=300,label=paste0("Var = ",round(var(data$BDX_htnov13,na.rm=T),2))),

ggplot(data, aes(x= AST_htnov12)) + 
  geom_histogram(binwidth = 20, fill="seagreen3") +  
  theme_bw() + 
  labs(x="Height - November 2012",y="") +
  annotate("text",x=1200,y=150,label=paste0("Var = ",round(var(data$BDX_htnov14,na.rm=T),2))),

ggplot(data, aes(x= AST_htmar14)) + 
  geom_histogram(binwidth = 20) +  
  theme_bw() +
  labs(x="Height - March 2014",y="") +
  annotate("text",x=2100,y=100,label=paste0("Var = ",round(var(data$BDX_htnov15,na.rm=T),2))))

1.2.2 Height values per provenances

# Per provenance
# --------------

# Clones are colored according to the main gene pool (the gene pool for which the provenances have the highest proportion of belonging)

p <- ggplot(data, aes(x=AST_htnov12, fill=as.factor(max.Q))) + 
  geom_histogram(alpha=0.7) + 
  theme_bw()  +
  facet_wrap(~as.factor(prov)) + 
  scale_fill_manual(values=c("orangered3",   # Northern Africa
                              "gold2",       # Corsica
                              "darkorchid3", # Central Spain
                              "navyblue",    # French Atlantic
                              "turquoise2",  # Iberian Atlantic
                              "green3"       # South-eastern Spain
                             ),
                    labels=c("Northern Africa", 
                             "Corsica",
                             "Central Spain",
                             "French Atlantic",
                             "Iberian Atlantic",
                             "South-eastern Spain")
                    ,name="Gene pools") +
  labs(x="",y="") +
  theme(legend.position = c(0.75, 0.07),
        legend.text = element_text(size=12),
        legend.title = element_text(size=14)) + 
  guides(fill=guide_legend(nrow=2))

p

ggsave(p,file="figs/ExploratoryAnalyses/HeightAsturias2012.png",height=10,width=12)
# Per provenance
# --------------

# Provenances are colored according to the value of MCMT in their location

p <- ggplot(data, aes(x=AST_htnov12, fill=mean_MCMT)) + 
  geom_histogram(alpha=0.7) + 
  theme_bw()  +
  facet_wrap(~as.factor(prov), ncol = ncol.wrap) +
  labs(x="",y="") +
  scale_fill_gradient2(midpoint = mean(data$mean_MCMT,na.rm=T), 
                        low = "blue",  
                        mid = "yellow",
                        high = "red",
                        space = "Lab" ,
                       name="Mean coldest month temperature") +
  theme(legend.position = c(x.wrap,y.wrap),
        legend.text = element_text(size=10),
        legend.title = element_text(size=12))

p

ggsave(p,file="figs/ExploratoryAnalyses/HeightAsturias2012_MCMTgradient.png",height=height.wrap,width=width.wrap)

1.3 Portugal (Fundão) - October 2012

1.3.1 All height values

plot_grid(
ggplot(data, aes(x= POR_htjan12)) + 
  geom_histogram(binwidth = 20) +  
  theme_bw() + 
  labs(x="Height - January 2012",y="") +
  annotate("text",x=400,y=300,label=paste0("Var = ",round(var(data$POR_htjan12,na.rm=T),2))),

ggplot(data, aes(x= POR_htmay12)) + 
  geom_histogram(binwidth = 20) +  
  theme_bw() + 
  labs(x="Height - May 2012",y="") +
  annotate("text",x=600,y=150,label=paste0("Var = ",round(var(data$POR_htmay12,na.rm=T),2))),

ggplot(data, aes(x= POR_htoct12)) + 
  geom_histogram(binwidth = 20,fill="seagreen3") +  
  theme_bw() +
  labs(x="Height - October 2012",y="") +
  annotate("text",x=900,y=100,label=paste0("Var = ",round(var(data$POR_htoct12,na.rm=T),2))),

ggplot(data, aes(x= POR_htmay13)) + 
  geom_histogram(binwidth = 20) +  
  theme_bw() +
  labs(x="Height - May 2013",y="") +
  annotate("text",x=1200,y=100,label=paste0("Var = ",round(var(data$POR_htmay13,na.rm=T),2))))

1.3.2 Height values per provenances

# Per provenance
# --------------

# Clones are colored according to the main gene pool (the gene pool for which the provenances have the highest proportion of belonging)

p <- ggplot(data, aes(x=POR_htoct12, fill=as.factor(max.Q))) + 
  geom_histogram(alpha=0.7) + 
  theme_bw()  +
  facet_wrap(~as.factor(prov)) + 
  scale_fill_manual(values=c("orangered3",    # Northern Africa
                              "gold2",        # Corsica
                              "darkorchid3",  # Central Spain
                              "navyblue",     # French Atlantic
                              "turquoise2",   # Iberian Atlantic
                              "green3"        # South-eastern Spain
                             ),
                    labels=c("Northern Africa", 
                             "Corsica",
                             "Central Spain",
                             "French Atlantic",
                             "Iberian Atlantic",
                             "South-eastern Spain")
                    ,name="Gene pools") +
  labs(x="",y="") +
  theme(legend.position = c(0.75, 0.07),
        legend.text = element_text(size=12),
        legend.title = element_text(size=14)) + 
  guides(fill=guide_legend(nrow=2))


p

ggsave(p,file="figs/ExploratoryAnalyses/HeightPortugal2012.png",height=10,width=12)
# Per provenance
# --------------

# Provenances are colored according to the value of MCMT in their location

p <- ggplot(data, aes(x=POR_htoct12, fill=mean_MCMT)) + 
  geom_histogram(alpha=0.7) + 
  theme_bw()  +
  facet_wrap(~as.factor(prov), ncol = ncol.wrap) +
  labs(x="",y="") +
  scale_fill_gradient2(midpoint = mean(data$mean_MCMT,na.rm=T), 
                        low = "blue",  
                        mid = "yellow",
                        high = "red",
                        space = "Lab" ,
                       name="Mean coldest month temperature") +
  theme(legend.position = c(x.wrap,y.wrap),
        legend.text = element_text(size=10),
        legend.title = element_text(size=12))

p

ggsave(p,file="figs/ExploratoryAnalyses/HeightPortugal2012_MCMTgradient.png",height=height.wrap,width=width.wrap)
# Per block
# --------------

data %>% 
  drop_na(POR_htoct12) %>% 
  droplevels() %>% 
  ggplot(aes(x=POR_htoct12, fill=as.factor(block))) + 
  geom_histogram(alpha=0.7) + 
  theme_bw()  +
  facet_wrap(~as.factor(block)) + 
  labs(x="",y="") +
  theme(legend.position = "none")

3 Functional traits

3.1 \(\delta^{13}C\)

data %>% dplyr::select(contains("d13C")) %>% summary
##       d13C       
##  Min.   :-30.47  
##  1st Qu.:-27.14  
##  Median :-26.18  
##  Mean   :-26.26  
##  3rd Qu.:-25.39  
##  Max.   :-22.59  
##  NA's   :9747

3.1.1 All values

ggplot(data, aes(x= d13C)) + 
  geom_histogram(binwidth = 0.1,fill="seagreen3") +  
  theme_bw() + 
  labs(x="Delta 13 C",y="") +
  annotate("text",x=-30,y=60,label=paste0("Var = ",round(var(data$d13C,na.rm=T),2)))

3.1.2 Per provenance

# Per provenance
# --------------

# Clones are colored according to the main gene pool (the gene pool for which the provenances have the highest proportion of belonging)

p <- ggplot(data, aes(x=d13C, fill=as.factor(max.Q))) + 
  geom_histogram(alpha=0.7) + 
  theme_bw()  +
  facet_wrap(~as.factor(prov)) + 
  scale_fill_manual(values=c("orangered3",      # Northern Africa
                              "gold2",          # Corsica
                              "darkorchid3",    # Central Spain
                              "navyblue",       # French Atlantic
                              "turquoise2",     # Iberian Atlantic
                              "green3"          # South-eastern Spain
                             ),
                    labels=c("Northern Africa", 
                             "Corsica",
                             "Central Spain",
                             "French Atlantic",
                             "Iberian Atlantic",
                             "South-eastern Spain")
                    ,name="Gene pools") +
  labs(x="",y="") +
  theme(legend.position = c(0.75, 0.07),
        legend.text = element_text(size=12),
        legend.title = element_text(size=14)) + 
  guides(fill=guide_legend(nrow=2))

p

ggsave(p,file="figs/ExploratoryAnalyses/d13C.png",height=10,width=12)
# Per provenance
# --------------

# Provenances are colored according to the value of MCMT in their location

p <- ggplot(data, aes(x=d13C, fill=mean_MCMT)) + 
  geom_histogram(alpha=0.7) + 
  theme_bw()  +
  facet_wrap(~as.factor(prov), ncol = ncol.wrap) +
  labs(x="",y="") +
  scale_fill_gradient2(midpoint = mean(data$mean_MCMT,na.rm=T), 
                        low = "blue",  
                        mid = "yellow",
                        high = "red",
                        space = "Lab" ,
                       name="Mean coldest month temperature") +
  theme(legend.position = c(x.wrap,y.wrap),
        legend.text = element_text(size=10),
        legend.title = element_text(size=12))

p

ggsave(p,file="figs/ExploratoryAnalyses/d13C_MCMTgradient.png",height=height.wrap,width=width.wrap)

3.2 Specific leaf area

data %>% dplyr::select(contains("SLA")) %>% summary
##     POR_SLA     
##  Min.   :2.253  
##  1st Qu.:4.620  
##  Median :5.157  
##  Mean   :5.258  
##  3rd Qu.:5.790  
##  Max.   :9.534  
##  NA's   :9044

3.2.1 All values

plot_grid(ggplot(data, aes(x= POR_SLA)) + 
  geom_histogram(binwidth = 0.1,fill="seagreen3") +  
  theme_bw() + 
  labs(x="Specific Leaf Area",y="") +
  annotate("text",x=9,y=130,label=paste0("Var = ",round(var(data$POR_SLA,na.rm=T),2))),

ggplot(data, aes(x= log(POR_SLA))) + 
  geom_histogram(binwidth = 0.01,fill="seagreen3") +  
  theme_bw() + 
  labs(x="Specific Leaf Area",y="") +
  annotate("text",x=2.05,y=50,label=paste0("Var = ",round(var(log(data$POR_SLA),na.rm=T),2))),
nrow=1)

3.2.2 Per provenance

# Per provenance
# --------------

# Clones are colored according to the main gene pool (the gene pool for which the provenances have the highest proportion of belonging)

p <- ggplot(data, aes(x=POR_SLA, fill=as.factor(max.Q))) + 
  geom_histogram(alpha=0.7) + 
  theme_bw()  +
  facet_wrap(~as.factor(prov)) + 
  scale_fill_manual(values=c("orangered3",    # Northern Africa
                              "gold2",        # Corsica
                              "darkorchid3",  # Central Spain
                              "navyblue",     # French Atlantic
                              "turquoise2",   # Iberian Atlantic
                              "green3"        # South-eastern Spain
                             ),
                    labels=c("Northern Africa", 
                             "Corsica",
                             "Central Spain",
                             "French Atlantic",
                             "Iberian Atlantic",
                             "South-eastern Spain")
                    ,name="Gene pools") +
  labs(x="",y="") +
  theme(legend.position = c(0.75, 0.07),
        legend.text = element_text(size=12),
        legend.title = element_text(size=14)) + 
  guides(fill=guide_legend(nrow=2))

p

ggsave(p,file="figs/ExploratoryAnalyses/PORSLA.png",height=10,width=12)
# Per provenance
# --------------

# Provenances are colored according to the value of MCMT in their location


p <- ggplot(data, aes(x=POR_SLA, fill=mean_MCMT)) + 
  geom_histogram(alpha=0.7) + 
  theme_bw()  +
  facet_wrap(~as.factor(prov), ncol = ncol.wrap) +
  labs(x="",y="") +
  scale_fill_gradient2(midpoint = mean(data$mean_MCMT,na.rm=T), 
                        low = "blue",  
                        mid = "yellow",
                        high = "red",
                        space = "Lab" ,
                       name="Mean coldest month temperature") +
  theme(legend.position = c(x.wrap,y.wrap),
        legend.text = element_text(size=10),
        legend.title = element_text(size=12))

p

ggsave(p,file="figs/ExploratoryAnalyses/PORSLA_MCMTgradient.png",height=height.wrap,width=width.wrap)

4 Summary - All selected traits

4.1 Figure S1

fontsize=8
ymean = 0.82
yvar = 0.92

p <- plot_grid(
  # Height Portugal (Fundão) 2012
ggplot(data, aes(x= POR_htoct12)) + 
  geom_histogram(binwidth = 20,fill="#B2182B",alpha=0.7) +  
  theme_bw() +
  labs(x="Height (Portugal, 20 months, mm)",y="") +
  annotation_custom(grobTree(textGrob(paste0("Variance : ",
                                             round(var(data$POR_htoct12,na.rm=T),2)), 
                                      x=0.7,  
                                      y=yvar, 
                                      hjust=0,
                                      gp=gpar(fontsize=fontsize)))) +
  annotation_custom(grobTree(textGrob(paste0("Mean : ",
                                             round(mean(data$POR_htoct12,na.rm=T),2)), 
                                      x=0.7,  
                                      y=ymean, 
                                      hjust=0,
                                      gp=gpar(fontsize=fontsize)))),

  # Height Bordeaux 2013
ggplot(data, aes(x= BDX_htnov13)) + 
  geom_histogram(binwidth = 20, fill="#D73027",alpha=0.7) +  
  theme_bw() + 
  labs(x="Height (Bordeaux, 25 months, mm)",y="") +
  annotation_custom(grobTree(textGrob(paste0("Variance : ",
                                             round(var(data$BDX_htnov13,na.rm=T),2)), 
                                      x=0.7,  
                                      y=yvar, 
                                      hjust=0,
                                      gp=gpar(fontsize=fontsize)))) +
  annotation_custom(grobTree(textGrob(paste0("Mean : ",
                                             round(mean(data$BDX_htnov13,na.rm=T),2)), 
                                      x=0.7,  
                                      y=ymean, 
                                      hjust=0,
                                      gp=gpar(fontsize=fontsize)))),

  # Height Bordeaux 2018
ggplot(data, aes(x= BDX_htnov18)) + 
  geom_histogram(binwidth = 20, fill="#F46D43",alpha=0.7) +  
  theme_bw() + 
  labs(x="Height (Bordeaux, 85 months, mm)",y="") +
  annotation_custom(grobTree(textGrob(paste0("Variance : ",
                                             round(var(data$BDX_htnov18,na.rm=T),2)), 
                                      x=0.7,  
                                      y=yvar, 
                                      hjust=0,
                                      gp=gpar(fontsize=fontsize)))) +
  annotation_custom(grobTree(textGrob(paste0("Mean : ",
                                             round(mean(data$BDX_htnov18,na.rm=T),2)), 
                                      x=0.7,  
                                      y=ymean, 
                                      hjust=0,
                                      gp=gpar(fontsize=fontsize)))),
  
  # Height Cabada (Asturias) 2012
ggplot(data, aes(x= AST_htnov12)) + 
  geom_histogram(binwidth = 20, fill="#FDAE61",alpha=0.7) +  
  theme_bw() + 
  labs(x="Height (Asturias, 21 months, mm)",y="") +
  annotation_custom(grobTree(textGrob(paste0("Variance : ",
                                             round(var(data$AST_htnov12,na.rm=T),2)), 
                                      x=0.7,  
                                      y=yvar, 
                                      hjust=0,
                                      gp=gpar(fontsize=fontsize)))) +
  annotation_custom(grobTree(textGrob(paste0("Mean : ",
                                             round(mean(data$AST_htnov12,na.rm=T),2)), 
                                      x=0.7,  
                                      y=ymean, 
                                      hjust=0,
                                      gp=gpar(fontsize=fontsize)))),

  # Mean bud burst date Bordeaux
ggplot(meanBB,aes(x= mean)) + 
  geom_histogram(binwidth = 10,fill="#5AAE61",alpha=0.7) +  
  theme_bw() + 
  labs(x="Mean bud burst date (Bordeaux, over four years, °C-day)",y="") +
  annotation_custom(grobTree(textGrob(paste0("Variance : ",
                                             round(var(meanBB$mean,na.rm=T),2)), 
                                      x=0.7,  
                                      y=yvar, 
                                      hjust=0,
                                      gp=gpar(fontsize=fontsize)))) +
  annotation_custom(grobTree(textGrob(paste0("Mean : ",
                                             round(mean(meanBB$mean,na.rm=T),2)), 
                                      x=0.7,  
                                      y=ymean, 
                                      hjust=0,
                                      gp=gpar(fontsize=fontsize)))),

  # Mean duration bud burst Bordeaux
ggplot(meanDBB,aes(x= mean)) + 
  geom_histogram(binwidth = 10,fill="#A6DBA0",alpha=0.7) +  
  theme_bw() + 
  labs(x="Mean duration of bud burst (Bordeaux, over three years, °C-day)",y="") +
  annotation_custom(grobTree(textGrob(paste0("Variance : ",
                                             round(var(meanDBB$mean,na.rm=T),2)), 
                                      x=0.7,  
                                      y=yvar, 
                                      hjust=0,
                                      gp=gpar(fontsize=fontsize)))) +
  annotation_custom(grobTree(textGrob(paste0("Mean : ",
                                             round(mean(meanDBB$mean,na.rm=T),2)), 
                                      x=0.7,  
                                      y=ymean, 
                                      hjust=0,
                                      gp=gpar(fontsize=fontsize)))),

  # SLA Portugal 
ggplot(data, aes(x= log(POR_SLA))) + 
  geom_histogram(binwidth = 0.01,fill="#4575B4",alpha=0.7) +  
  theme_bw() + 
  labs(x=TeX("Log(Specific Leaf Area) (Portugal, m$^{2}$/kg)"),y="") +
  annotation_custom(grobTree(textGrob(paste0("Variance : ",
                                             round(var(log(data$POR_SLA),na.rm=T),2)), 
                                      x=0.7,  
                                      y=yvar, 
                                      hjust=0,
                                      gp=gpar(fontsize=fontsize)))) +
  annotation_custom(grobTree(textGrob(paste0("Mean : ",
                                             round(mean(log(data$POR_SLA),na.rm=T),2)), 
                                      x=0.7,  
                                      y=ymean, 
                                      hjust=0,
                                      gp=gpar(fontsize=fontsize)))),
  # delta13C Portugal
ggplot(data, aes(x= d13C)) + 
  geom_histogram(binwidth = 0.1,fill="#ABD9E9",alpha=0.7) +  
  theme_bw() + 
  labs(x=TeX("$\\delta^{13}C$ (Portugal, ‰)"),y="")+
  annotation_custom(grobTree(textGrob(paste0("Variance : ",
                                             round(var(data$d13C,na.rm=T),2)), 
                                      x=0.7,  
                                      y=yvar, 
                                      hjust=0,
                                      gp=gpar(fontsize=fontsize)))) +
  annotation_custom(grobTree(textGrob(paste0("Mean : ",
                                             round(mean(data$d13C,na.rm=T),2)), 
                                      x=0.7,  
                                      y=ymean, 
                                      hjust=0,
                                      gp=gpar(fontsize=fontsize)))),

nrow=4)

p

ggsave(p,file=paste0("figs/ExploratoryAnalyses/TraitsDistribution.png"),width = 10,height=8)

4.2 Table S1 & S2

# the numbers in the columns "Trees", "Populations" and "Clones" were checked with the model inputs (May 12th)
tibble(Traits=c(rep("Height",4),"Mean bud burst date", "Mean duration of bud burst","Surface Leaf Area","$\\delta^{13}$C"),
       
       "Common gardens"=c("Portugal",rep("Bordeaux",2),"Cabada",rep("Bordeaux",2),rep("Portugal",2)),
       
       "Dates of measurement" =c("October 2012","November 2013", "November 2018","November 2012", "2013, 2014, 2015, 2017", "2014, 2015 2017", NA,NA),
       
       "Tree age"=c(20,25,85,21,"-","-",NA,NA),
       
       "Survival"=c(
      # Proportion survival Portugal 
      round(table(data$POR_survoct12)[[2]]/(table(data$POR_survoct12)[[1]]+table(data$POR_survoct12)[[2]]),2),
      
       # Proportion survival Bordeaux 2013
       round(table(data$BDX_surv13)[[2]]/(table(data$BDX_surv13)[[1]]+table(data$BDX_surv13)[[2]]),2),
       
       # Proportion survival Bordeaux 2018
       round(table(data$BDX_surv18)[[2]]/(table(data$BDX_surv18)[[1]]+table(data$BDX_surv18)[[2]]),2),
      
      # Proportion survival Asturias
      round(table(data$AST_survnov12)[[2]]/(table(data$AST_survnov12)[[1]]+table(data$AST_survnov12)[[2]]),2),
 
       "-","-","-","-"),
      
       "Units"=c(rep("mm",4),"°C-day","°C-day","m$^{2}$/kg","‰"),
       
       "Trees"=c(length(data$tree[!is.na(data$POR_htoct12)]),  # height Portugal 2012
                 length(data$tree[!is.na(data$BDX_htnov13)]),  # height Bordeaux 2013
                 length(data$tree[!is.na(data$BDX_htnov18)]),  # height Bordeaux 2018
                 length(data$tree[!is.na(data$AST_htnov12)]),  # height Cabada (Asturias) 2012
                 length(meanBB$tree[!is.na(meanBB$mean)]),     # mean bud burst date Bordeaux
                 length(meanDBB$tree[!is.na(meanDBB$mean)]),   # mean duration bud burst Bordeaux
                 length(data$tree[!is.na(data$POR_SLA)]),      # SLA Portugal 
                 length(data$tree[!is.na(data$d13C)])),        # delta 13 C Portugal 
       
        "Populations" = c(length(unique(data$prov[!is.na(data$POR_htoct12)])), # height Portugal 2012
                          length(unique(data$prov[!is.na(data$BDX_htnov13)])), # height Bordeaux 2013
                          length(unique(data$prov[!is.na(data$BDX_htnov18)])), # height Bordeaux 2018
                          length(unique(data$prov[!is.na(data$AST_htnov12)])), # height Asturias 2012
                          length(unique(meanBB$prov[!is.na(meanBB$mean)])),    # mean bud burst date Bordeaux
                          length(unique(meanDBB$prov[!is.na(meanDBB$mean)])),  # mean duration bud burst Bordeaux
                          length(unique(data$prov[!is.na(data$POR_SLA)])),     # SLA Portugal 
                          length(unique(data$prov[!is.na(data$d13C)]))),       # delta 13 C Portugal 
                          
        "Clones" = c(length(unique(data$clon[!is.na(data$POR_htoct12)])), # height Portugal 2012
                     length(unique(data$clon[!is.na(data$BDX_htnov13)])), # height Bordeaux 2013
                     length(unique(data$clon[!is.na(data$BDX_htnov18)])), # height Bordeaux 2018
                     length(unique(data$clon[!is.na(data$AST_htnov12)])), # height Asturias 2012
                     length(unique(meanBB$clon[!is.na(meanBB$mean)])),    # mean bud burst date Bordeaux
                     length(unique(meanDBB$clon[!is.na(meanDBB$mean)])),  # mean duration bud burst Bordeaux
                     length(unique(data$clon[!is.na(data$POR_SLA)])),     # SLA Portugal 
                     length(unique(data$clon[!is.na(data$d13C)]))),       # delta 13 C Portugal   
       
        "Blocks" = c(length(unique(data$block[!is.na(data$POR_htoct12)])), # height Portugal 2012
                     length(unique(data$block[!is.na(data$BDX_htnov13)])), # height Bordeaux 2013
                     length(unique(data$block[!is.na(data$BDX_htnov18)])), # height Bordeaux 2018
                     length(unique(data$block[!is.na(data$AST_htnov12)])), # height Asturias 2012
                     length(unique(meanBB$block[!is.na(meanBB$mean)])),    # mean bud burst date Bordeaux
                     length(unique(meanDBB$block[!is.na(meanDBB$mean)])),  # mean duration bud burst Bordeaux
                     length(unique(data$block[!is.na(data$POR_SLA)])),     # SLA Portugal 
                     length(unique(data$block[!is.na(data$d13C)])))        # delta 13 C Portugal   
          ) %>% 
  
  kable(caption="Table S1 of the paper",escape = FALSE) %>%
  kable_styling(font_size=11,
                bootstrap_options = c("striped","hover", "condensed"), full_width = F)
Table S1 of the paper
Traits Common gardens Dates of measurement Tree age Survival Units Trees Populations Clones Blocks
Height Portugal October 2012 20 0.66 mm 2746 33 521 8
Height Bordeaux November 2013 25 0.97 mm 3238 33 430 8
Height Bordeaux November 2018 85 0.96 mm 3209 33 430 8
Height Cabada November 2012 21 0.96 mm 3973 33 522 8
Mean bud burst date Bordeaux 2013, 2014, 2015, 2017
°C-day 3175 33 430 8
Mean duration of bud burst Bordeaux 2014, 2015 2017
°C-day 3187 33 430 8
Surface Leaf Area Portugal NA NA
m\(^{2}\)/kg 2642 33 520 8
\(\delta^{13}\)C Portugal NA NA
1939 33 517 8