First lets assess the health of the population.

# read a data frame from the ods document
df <- read_ods("../data/ironwood_data_cleaned.ods", sheet = 1)
# site base location
site_lat <- "-33.943917"
site_lon <- "23.507389"
# vector of condition names corresponding to the health index numbers
condition_names <- c("healthy", "light damage", 
                     "medium damage", "severe damage", 
                     "at point of death")
# colors for each condition
condition_colors <- c("green", "yellow", "orange", "red", "black")
# Calculate the percentage of trees in each health condition
percentage <- proportions(table(df$tree_health_index)) * 100
# Now, let's create the bar plot
barplot(percentage,
        names.arg = condition_names,
        main = "Overview of Tree Health Index",
        xlab = "Health Index",
        ylab = "Percentage of Trees",
        ylim = c(0, max(percentage) + 10),
        col = condition_colors,
        border = "black")
# Adding a legend
legend("topright",
       legend = condition_names, 
       fill = condition_colors)
# Add labels with the percentage of trees in each bar
text(x = barplot(percentage, plot = FALSE), 
     y = percentage, 
     labels = paste0(round(percentage, 1), "%"), 
     pos = 3)
LS0tCnRpdGxlOiAiaXJvbndvb2QgcHJvamVjdCIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKRmlyc3QgbGV0cyBhc3Nlc3MgdGhlIGhlYWx0aCBvZiB0aGUgcG9wdWxhdGlvbi4KCmBgYHtyfQojIHJlYWQgYSBkYXRhIGZyYW1lIGZyb20gdGhlIG9kcyBkb2N1bWVudApkZiA8LSByZWFkX29kcygiLi4vZGF0YS9pcm9ud29vZF9kYXRhX2NsZWFuZWQub2RzIiwgc2hlZXQgPSAxKQojIHNpdGUgYmFzZSBsb2NhdGlvbgpzaXRlX2xhdCA8LSAiLTMzLjk0MzkxNyIKc2l0ZV9sb24gPC0gIjIzLjUwNzM4OSIKIyB2ZWN0b3Igb2YgY29uZGl0aW9uIG5hbWVzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGhlYWx0aCBpbmRleCBudW1iZXJzCmNvbmRpdGlvbl9uYW1lcyA8LSBjKCJoZWFsdGh5IiwgImxpZ2h0IGRhbWFnZSIsIAogICAgICAgICAgICAgICAgICAgICAibWVkaXVtIGRhbWFnZSIsICJzZXZlcmUgZGFtYWdlIiwgCiAgICAgICAgICAgICAgICAgICAgICJhdCBwb2ludCBvZiBkZWF0aCIpCiMgY29sb3JzIGZvciBlYWNoIGNvbmRpdGlvbgpjb25kaXRpb25fY29sb3JzIDwtIGMoImdyZWVuIiwgInllbGxvdyIsICJvcmFuZ2UiLCAicmVkIiwgImJsYWNrIikKIyBDYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2Ugb2YgdHJlZXMgaW4gZWFjaCBoZWFsdGggY29uZGl0aW9uCnBlcmNlbnRhZ2UgPC0gcHJvcG9ydGlvbnModGFibGUoZGYkdHJlZV9oZWFsdGhfaW5kZXgpKSAqIDEwMAojIE5vdywgbGV0J3MgY3JlYXRlIHRoZSBiYXIgcGxvdApiYXJwbG90KHBlcmNlbnRhZ2UsCiAgICAgICAgbmFtZXMuYXJnID0gY29uZGl0aW9uX25hbWVzLAogICAgICAgIG1haW4gPSAiT3ZlcnZpZXcgb2YgVHJlZSBIZWFsdGggSW5kZXgiLAogICAgICAgIHhsYWIgPSAiSGVhbHRoIEluZGV4IiwKICAgICAgICB5bGFiID0gIlBlcmNlbnRhZ2Ugb2YgVHJlZXMiLAogICAgICAgIHlsaW0gPSBjKDAsIG1heChwZXJjZW50YWdlKSArIDEwKSwKICAgICAgICBjb2wgPSBjb25kaXRpb25fY29sb3JzLAogICAgICAgIGJvcmRlciA9ICJibGFjayIpCiMgQWRkaW5nIGEgbGVnZW5kCmxlZ2VuZCgidG9wcmlnaHQiLAogICAgICAgbGVnZW5kID0gY29uZGl0aW9uX25hbWVzLCAKICAgICAgIGZpbGwgPSBjb25kaXRpb25fY29sb3JzKQojIEFkZCBsYWJlbHMgd2l0aCB0aGUgcGVyY2VudGFnZSBvZiB0cmVlcyBpbiBlYWNoIGJhcgp0ZXh0KHggPSBiYXJwbG90KHBlcmNlbnRhZ2UsIHBsb3QgPSBGQUxTRSksIAogICAgIHkgPSBwZXJjZW50YWdlLCAKICAgICBsYWJlbHMgPSBwYXN0ZTAocm91bmQocGVyY2VudGFnZSwgMSksICIlIiksIAogICAgIHBvcyA9IDMpCmBgYAo=