Wetland Biodiversity Radar Chart

Kinga Stryszowska-Hill

December 2022

Background

Wetlands are ecosystems that are half land and half water and therefore are home to an incredible diversity of plants and animals. The more biodiverse a wetland is, the better it functions as an ecosystem.

But not all plants and animals want to live in the same wetland. Sometimes, a wetland might be a great spot for one type or organism and a poor spot for another. When scientists are trying to restore damaged wetland ecosystems, we need to understand which plants and animals would benefit most from a restoration.

My name is Kinga Stryszowska-Hill and I am part of a collaborative project researching the recovery of wetlands in western Kentucky, USA. Our team of scientists studies the hydrology, water quality, and biological communities of wetlands restored from agricultural uses. We want to understand how well the wetlands are functioning after restoration and, based on our research, we want to make recommendations for future restoration projects.

In this project, I build a radar chart for four wetlands to see how diverse each wetland is in 7 different types of organisms. If a wetland has high diversity of all organisms, then this type of wetland is a well functioning ecosystem. If a wetland has high diversity of some animals, but not others, this is an indication that a wetland cannot meet the needs of all organisms.

Load Libraries

library(fmsb)
library(tidyr)
library(dplyr)
library(here)
library(kableExtra)

Load Data

I have data from 4 restored wetlands. Along with my colleagues, we collected data on 7 types of organisms that live in these wetlands: Plants, Fish, Aquatic Insects, Amphibians, Butterflies, Birds, and Plankton.

The numbers for each wetland represent how diverse a group is. The higher the number, the more diverse that group is.

The data structure for a radar chart requires that the Max and Min for each column be calculated and placed in the top two rows.

  • Row 1 must contain the maximum values for each variable
  • Row 2 must contain the minimum values for each variable

The chart is then based on the Max and Min values. So if a line touches the top of the chart, it is at the Max value for that column

Data visualizers criticize the radar chart for being difficult to read and this is true. At the same time, I think it is an interesting way to display how multiple items relate to each other.

#Import table with first column as row names
Radar <- read.csv(here("Data", "Radar.csv"), row.names = 1) %>%
  # Rename all columns to replace underscore with space
  dplyr::rename_all(function(x) gsub("_", " ", x)) 


# Show table structure
knitr::kable(Radar)%>%
  kableExtra::column_spec(1, width = "150px", extra_css = "vertical-align:middle;")
Plant Diversity Aquatic Insect Diversity Bird Diversity Butterfly Diversity Amphibian Diversity Fish Diversity Plankton Diversity
Max 54 45 29 26 7 36 9
Min 13 18 5 20 2 5 6
Wetland 1 54 28 12 25 5 18 6
Wetland 2 28 21 22 24 5 5 6
Wetland 3 16 40 29 25 7 29 8
Wetland 4 15 45 5 24 4 36 8

Build Radar Chart

fmsb::radarchart(df = Radar, 
                 # line type
                 plty = 1, 
                 # line width
                 plwd = 2, 
                 # axis color
                 axislabcol="grey",
                 # grid color
                 cglcol = "grey",
                 # grid type
                 cglty = 1, 
                 # grid width
                 cglwd = 0.8,
                 # line colors
                 pcol = c("#37E2D5", "#590696", "#C70A80", "#FBCB0A"))

Export as jpeg

# Create the radar plot inside a jpeg device for export
jpeg("Plots/Radar.jpg", units = "in", width = 8, height = 8, res = 600)
fmsb::radarchart(df = Radar, 
                 # line type
                 plty = 1, 
                 # line width
                 plwd = 2, 
                 # axis color
                 axislabcol="grey",
                 # grid color
                 cglcol = "grey",
                 # grid type
                 cglty = 1, 
                 # grid width
                 cglwd = 0.8,
                 # line colors
                 pcol = c("#37E2D5", "#590696", "#C70A80", "#FBCB0A"))
dev.off()

We did not find a wetland that has high diversity of all animals. I think it is impossible to build such an ecosystem. Wetlands that have high plant diversity, have low fish and anphibian diversity. Fish and amphibians like wetlands that are more wet and plants like wetlands that are more dry.