From eb279c8f5a30e7d7ec08a0ed10656c4903d01c8b Mon Sep 17 00:00:00 2001 From: Nick Heppler Date: Wed, 7 May 2025 12:03:05 -0400 Subject: [PATCH] Refactor Location Analysis: add narrative descriptions, clarify map/table context, and improve accessibility. --- report.Rmd | 61 ++++++++++++++++++++++++------------------------------ 1 file changed, 27 insertions(+), 34 deletions(-) diff --git a/report.Rmd b/report.Rmd index 7e5b318..cd6d0dc 100644 --- a/report.Rmd +++ b/report.Rmd @@ -580,6 +580,9 @@ survey_data %>% ``` # Location Analysis {.tabset} + +[Back to Top](#) + ```{r func-plot_geographic_data, echo=TRUE} plot_geographic_data <- function(joined_data, title, @@ -593,54 +596,42 @@ plot_geographic_data <- function(joined_data, na_fill_color = "lightgrey") { current_date <- format(Sys.Date(), "%B %d, %Y") - - # If subtitle is not provided, use the current date as subtitle subtitle_text <- ifelse(is.null(subtitle), paste("Date:", current_date), subtitle) - # Handle missing data by filling with a specified color joined_data[is.na(joined_data$total_trees), "total_trees"] <- NA - # Select the color scale based on the user's input if (color_scale == "viridis") { - fill_color <- scale_fill_viridis_c(option = fill_option, na.value = na_fill_color) # Use na.value to fill NA + fill_color <- scale_fill_viridis_c(option = fill_option, na.value = na_fill_color) } else if (color_scale == "RColorBrewer") { - fill_color <- scale_fill_brewer(palette = "Set3") # Default RColorBrewer palette + fill_color <- scale_fill_brewer(palette = "Set3") } else { - fill_color <- scale_fill_manual(values = color_scale) # Custom color scale + fill_color <- scale_fill_manual(values = color_scale) } - # Create the plot plot <- ggplot(data = joined_data) + geom_sf(aes(fill = total_trees), color = "white") + - fill_color + # Color scale for the plot - theme_options + # Apply custom theme + fill_color + + theme_options + labs(title = title, - subtitle = subtitle_text, # Subtitle is handled here + subtitle = subtitle_text, fill = legend) + - theme(axis.text = element_blank(), axis.title = element_blank(), + theme(axis.text = element_blank(), + axis.title = element_blank(), legend.position = legend_position) - # If save_path is provided, save the plot to file if (!is.null(save_path)) { ggsave(save_path, plot = plot, width = 10, height = 6) } - # Return the plot return(plot) } ``` -[Back to Top](#) - ## By Region -This map displays the **total number of trees planted** across each economic region in **New York State**. The counties are color-coded, with darker shades representing areas where more trees have been planted. This allows users to quickly see which counties have had the most extensive tree planting efforts. +This map shows the **total number of trees planted** in each of New York’s economic development regions. The shading reflects the volume of planting activity, with darker areas representing higher totals. -- **What to look for**: - - **Dark colors**: Indicate regions with a higher number of trees planted. - - **Lighter colors**: Represent regions with fewer trees planted. - -The map provides a visual overview of tree planting distribution across New York, making it easier to identify areas with the highest impact or need for further action. +Use this map to identify which regions are leading in planting activity, and where more outreach or support might be beneficial. ```{r create-region-choropleth-map, echo=TRUE, message=FALSE, fig.height=6, fig.width=8} survey_data_aggregated <- survey_data %>% @@ -672,19 +663,19 @@ plot_geographic_data(joined_data = survey_data_joined, na_fill_color = "lightgrey") ``` +### Regional Planting Summary + +The table below breaks down the total number of trees planted by region. It also shows each region’s percentage contribution to overall planting activity across New York State. + ```{r create-summary-table-region, echo=TRUE, message=FALSE, fig.height=6, fig.width=8} create_summary_table(survey_data, "Region", "Number of Trees Planted (Required)", remove_na = FALSE, table_font_size = 16) ``` ## By County -This map displays the **total number of trees planted** across each county in **New York State**. The counties are color-coded, with darker shades representing areas where more trees have been planted. This allows users to quickly see which counties have had the most extensive tree planting efforts. +This map provides a county-level view of total trees planted. Darker counties indicate higher planting activity. -- **What to look for**: - - **Dark colors**: Indicate counties with a higher number of trees planted. - - **Lighter colors**: Represent counties with fewer trees planted. - -The map provides a visual overview of tree planting distribution across New York, making it easier to identify areas with the highest impact or need for further action. +This visual helps uncover local patterns within regions, and may guide localized support, outreach, or reporting strategies. ```{r create-county-choropleth-map, echo=TRUE, message=FALSE, fig.height=6, fig.width=8} survey_data_aggregated <- survey_data %>% @@ -693,12 +684,11 @@ survey_data_aggregated <- survey_data %>% geographic_data <- counties(state = "NY", cb = TRUE, progress = FALSE) %>% st_as_sf() %>% - mutate(NAME = str_replace(NAME, "\\.", "")) # Remove period from "St. Lawrence" + mutate(NAME = str_replace(NAME, "\\.", "")) survey_data_joined <- geographic_data %>% left_join(survey_data_aggregated, by = c("NAME" = "County")) -# Example of calling the function with enhancements plot_geographic_data(joined_data = survey_data_joined, title = "Number of Trees Planted by County in New York", legend = "Total Trees Planted", @@ -706,13 +696,16 @@ plot_geographic_data(joined_data = survey_data_joined, subtitle = "Generated: March 13, 2025", theme_options = theme_minimal(), legend_position = "right", - color_scale = "viridis", # Default viridis scale - na_fill_color = "lightgrey") # Color for NA values + color_scale = "viridis", + na_fill_color = "lightgrey") ``` -```{r create-summary-table-county, echo=TRUE, message=FALSE, , fig.height=6, fig.width=8} -create_summary_table(survey_data, "County", "Number of Trees Planted (Required)", remove_na = FALSE, table_font_size = 16) +### County-Level Planting Summary +This table provides a detailed breakdown of trees planted by county. Use it alongside the map to validate trends or investigate specific areas. + +```{r create-summary-table-county, echo=TRUE, message=FALSE, fig.height=6, fig.width=8} +create_summary_table(survey_data, "County", "Number of Trees Planted (Required)", remove_na = FALSE, table_font_size = 16) ``` # Tree Analysis {.tabset}