knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
To create taxa distribution maps.
Map taxonomic observations from a data frame. Input a dataframe with SampID , TaxaID, TaxaCount, Latitude, and Longitude. Other arguments are format (jpg vs. pdf), file name prefix, and output directory. Files are saved with the prefix "map.taxa." by default.
Uses the maps
package map function.
For maps package map function need database (usa, state, county) and regions (e.g., maryland). Additional map function arguments can be passed through the MapTaxaObs function.
Data used should have Sample Identifier, Taxa Identifier, Taxa Count (can be 1 for all), Latitude/Longitude (decimal degrees).
# Packages #library(BioMonTools) #library(knitr) # Data df_obs <- BioMonTools::data_Taxa_MA # Show knitr::kable(head(df_obs))
The ggplot2
package can be used to create single maps that are returned to the
console for further editing.
# Packages #library(BioMonTools) #library(ggplot2) #library(knitr) # df_obs <- BioMonTools::data_Taxa_MA TaxaID <- "TaxaName" TaxaCount <- "Count" Lat <- "Latitude" Long <- "Longitude" myTaxa <- "ALEWIFE, ADULTS, 0.5-25 ppt" df_map <- subset(df_obs, df_obs[, TaxaID] == myTaxa) myDB <- "state" myRegion <- "massachusetts" Lat <- "Latitude" Long <- "Longitude" # Base Map m1 <- ggplot2::ggplot(data=subset(ggplot2::map_data(myDB) , region %in% c(myRegion))) + ggplot2::geom_polygon(ggplot2::aes(x = long , y = lat , group = group) , fill = "light gray", color = "black") + ggplot2::coord_fixed(1.3) + ggplot2::theme_void() # Add points (all) m1 <- m1 + ggplot2::geom_point(data=df_obs , ggplot2::aes(df_obs[, Long] , df_obs[, Lat]) , fill=NA , color="gray") # Add points (Taxa) m1 <- m1 + ggplot2::geom_point(data=df_map , ggplot2::aes(df_map[,Long] , df_map[,Lat]) , color="blue") # Map Title (center) m1 <- m1 + ggplot2::labs(title = myTaxa) + ggplot2::theme(plot.title = ggplot2::element_text(hjust = 0.5)) # Caption (left justified) m1 <- m1 + ggplot2::labs(caption = "caption1 \n caption2") + ggplot2::theme(plot.caption = ggplot2::element_text(hjust = 0)) # Show Results knitr::kable(head(df_obs)) m1
The example below will create a PDF with one map per page.
df_obs <- data_Taxa_MA SampID <- "estuary" TaxaID <- "TaxaName" TaxaCount <- "Count" Lat <- "Latitude" Long <- "Longitude" output_dir <- getwd() output_prefix <- "maps.taxa." output_type <- "pdf" myDB <- "state" myRegion <- "massachusetts" myXlim <- c(-(73 + (30/60)), -(69 + (56/60))) myYlim <- c((41 + (14/60)), (42 + (53/60))) # Run function with extra arguments for map BioMonTools::MapTaxaObs(df_obs, SampID, TaxaID, TaxaCount, Lat, Long , output_dir, output_prefix, output_type , database="state", regions="massachusetts" , xlim=myXlim, ylim=myYlim)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.