################################
#### BAR RELATIVE ABUNDANCE ####
################################
barRA <- function(meta_data, species_names = NA, default_theme = TRUE, trans_y_axis = c("sqrt", "log10")) {
trans_y_axis <- match.arg(trans_y_axis)
### DATA TABLE FOR PLOT
dtst <- dplyr::left_join(meta_data[["AODP_match"]], meta_data[["Metadata"]], by = "ID") %>%
dplyr::left_join(meta_data[["Sample_totals"]], by = "ID") %>%
dplyr::group_by(Species, ID) %>%
dplyr::mutate(seq_spp = length(unique(seq_ID)), value = (length(unique(seq_ID)) / (unique(s_num)))) %>%
dplyr::filter(Province != "World")
# Filtering by species
if(!is.na(species_names)) {
#dtst <- dplyr::filter(dtst, Species == species_names)
dtst <- dtst[base::grep(species_names, dtst$Species),]
}
if(base::nrow(dtst) == 0) {
stop("Provided sprcies name does not exist in data set! \n
Try encrease 'species_number' parameter in metaData.")
}
map_dots <- dtst %>%
dplyr::group_by(Province,City,Substrate) %>%
dplyr::summarise(value = (mean(value)))
# Plot Colours
clr = c("#771155", "#AA4488", "#CC99BB", "#114477", "#4477AA", "#77AADD", "#117777", "#44AAAA", "#77CCCC", "#117744", "#44AA77", "#88CCAA", "#777711", "#AAAA44", "#DDDD77", "#774411", "#AA7744", "#DDAA77", "#771122", "#AA4455", "#DD7788")
clr = colorRampPalette(clr)(length(unique(dtst$Substrate)))
names(clr) = sort(unique(dtst$Substrate))
bp <- ggplot(map_dots, aes(City, value, fill = Substrate)) +
geom_col(colour = "black", size = 0.2) +
facet_grid(.~Province, scales = "free", space = "free") +
coord_trans(y = trans_y_axis)
if(default_theme == TRUE) {
bp <- bp + labs(x = NULL, y = "√ % per sample") +
scale_fill_manual(values = clr, guide = guide_legend(title = "Substrate")) +
theme(panel.background=element_rect(fill="white"),
legend.key = element_rect(fill = "white", color = "white"),
#plot.title = element_text(lineheight=.8, face="bold"),
#title=element_text(size=15,colour="black"),
strip.background = element_rect(colour = "white", fill = "white"),
strip.text = element_text(size = 16, face = "bold", hjust = 0.5),
#strip.background = element_rect(colour="black", fill="#ffffff"),
#axis.title.y=element_text(size=18,colour="black", angle = 90),
axis.title.x=element_text(size=16,colour="black"),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
axis.line = element_line(colour="black"),
text=element_text(size=14,colour="black"),
panel.grid.major=element_line(size=0.5,colour="gray80",linetype = "dotted"),
panel.grid.minor=element_line(size=0.5,colour="gray80",linetype = "dotted"),
panel.border = element_rect(fill = NA, colour = "grey"),
#legend.position=c(1.2,0.7),
legend.position = "right",
legend.text = element_text(size = 12),
axis.text = element_text(size = 14, colour = "black", face = "italic"))
}
return(bp)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.