From 576255116c79f02f92833a8e266e2ab2010f8d83 Mon Sep 17 00:00:00 2001 From: aaron Date: Mon, 11 Mar 2024 20:03:52 +0100 Subject: [PATCH] fix tree health plot --- ironwood_plots.R | 37 +++++++++++++++++-------------------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/ironwood_plots.R b/ironwood_plots.R index 3b234cd..dcd532f 100644 --- a/ironwood_plots.R +++ b/ironwood_plots.R @@ -15,32 +15,29 @@ df <- read_ods("ironwood_data_cleaned.ods", sheet = 1) # asses the tree health ## -# create a vector with our condition names -condition_names <- c("healthy", "light damage", "medium damage", "severe damage", "at point of death") +# First, let's create a vector of condition names corresponding to the health index numbers +condition_names <- c("Healthy", "Light damage", "Medium damage", "Severe damage", "At point of death") # Define colors for each condition condition_colors <- c("green", "yellow", "orange", "red", "black") -# Now, let's create the histogram -hist(df$Tree_Health_Index, - breaks = 0:5 - 0.5, # Setting breaks at midpoints between integers - main = "Distribution of Tree Health Index", - xlab = "Health Index", - ylab = "Number of Trees", - col = condition_colors, # Assigning colors based on the health index values - border = "black", # Border color of the bars - xlim = c(-0.5, 4.5), # Setting x-axis limits to include all health index values - ylim = c(0, max(table(df$Tree_Health_Index))*1.1), # Setting y-axis limits slightly above the maximum frequency - axes = FALSE) # Suppressing axes for customization -# Add axis labels -axis(1, at = 0:4, labels = condition_names) -axis(2) +# Calculate the percentage of trees in each health condition +percentage <- prop.table(table(df$Tree_Health_Index)) * 100 +# Now, let's create the bar plot +barplot(percentage, + names.arg = condition_names, + main = "Distribution 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, border.col = "black") -# Add a title -title(main = "Distribution of Tree Health Index") +legend("topright", legend = condition_names, fill = condition_colors) # Adding a grid -grid(nx = NULL, ny = NULL, col = "lightgray", lty = "dotted") +#grid(nx = NULL, ny = NULL, col = "lightgray", lty = "dotted") # Adding a box around the plot box() +# 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) ## # Perform a shapiro-wilk normality test