All of these graphs were produced using the data collected at 09:30, 13:00 and 17:00 on the 1st, 2nd and 4th of April 2025. 18 different locations were visited, which could be split into 5 different categories depending on their building material and if they were in a green space.
| Category | Location description |
|---|---|
| Accrington brick, Darley dale stone | Downstairs uncovered Bramwell music |
| Accrington brick, Darley dale stone | Downstairs sheltered Bramwell Music |
| Accrington brick, Darley dale stone | Outside Bramwell Music entrance |
| Concrete | Next to Physics East |
| Concrete | Next to Barber Institute |
| Concrete | Next to Ashly Buuilding |
| Sandstone and bronze anodised aluminium cladding | Teaching and Learning - North entrance |
| Sandstone and bronze anodised aluminium cladding | Teaching and Learning - Around the back |
| Sandstone and bronze anodised aluminium cladding | Teaching and Learning - South entrance |
| Aluminium and zinc cladding | Library - Around the back |
| Aluminium and zinc cladding | Library - North side |
| Aluminium and zinc cladding | Library - Main entrance |
| Green space | Old Joe - Shaded |
| Green space | Old Joe - Non-shaded |
| Green space | North Gate - Shaded |
| Green space | North Gate - Non-shaded |
| Green space | Grass outside library - Shaded |
| Green space | Grass outside library - Non-shaded |
Some of the graphs below are interactive, so you are able to:
Zoom in on specific areas of the graph
Select certain options in the key to hide/show that set of data from the graph
Hover over points on the lines in order to show the specific values
This allows you to read and understand the data much easier, especially on the more crowded graphs.
These graphs show some of the data from the temperature measurements taken, and are all interactive.
data <- read.csv("C:/Users/lizzy/OneDrive/Documents/uni/Year 2/Digital data capture and analysis/Assessment/temperature_cleaned.csv")
p <- ggplot(data, aes(x = date, y = temperature, colour = location, group = location)) +
geom_line(position = position_dodge(width = 0.5)) +
scale_y_continuous(breaks = seq(10, 30, by = 2)) +
theme_minimal() +
labs(title = "Average Temperature Over Time", x = "Time", y = "Temperature (°C)") +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1))
interactive_plot <- ggplotly(p)
interactive_plot
This graph shows us the overall impression of the temperature data collected, for example the locations near the Bramwell music building are much more steady when it comes to temperature, whereas the locations near the library are much more erratic over the course of the three days.
data <- read.csv("C:/Users/lizzy/OneDrive/Documents/uni/Year 2/Digital data capture and analysis/Assessment/temperature_cleaned.csv")
data <- data %>%
mutate(
shade = case_when(
grepl("- Shaded", location, ignore.case = TRUE) ~ "Shaded",
grepl("- Non-shaded", location, ignore.case = TRUE) ~ "Non-shaded",
TRUE ~ NA_character_
)
)
filtered_data <- data %>%
filter(location %in% c(
"Grass outside library - Non-shaded",
"Grass outside library - Shaded",
"Old Joe - Non-shaded",
"Old Joe - Shaded",
"North Gate - Shaded",
"North Gate - Non-shaded"
))
avg_data <- filtered_data %>%
group_by(date, shade) %>%
summarise(avg_temperature = mean(temperature), .groups = "drop")
p <- ggplot(avg_data, aes(x = date, y = avg_temperature, colour = shade, group = shade)) +
geom_line(linewidth = 1) +
theme_minimal() +
labs(title = "Average temperature in green spaces: Shaded vs Non-shaded",
x = "Date",
y = "Average Temperature (°C)",
colour = "Shade Status") +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1))
interactive_plot <- ggplotly(p)
interactive_plot
This line graph clearly shows that there isn’t much of an impact made by whether green spaces are in the shade or not, when it comes to temperature. This means that the benefits that come from having more green space on the University of Birmingham campus (e.g. aesthetics, wildlife, air quality) are enough to build more green spaces even if they may be in the shade, as temperature variation doesn’t impact on these spaces very much.
data <- read.csv("C:/Users/lizzy/OneDrive/Documents/uni/Year 2/Digital data capture and analysis/Assessment/temperature_cleaned.csv")
data <- data %>%
mutate(
material = case_when(
grepl("Bramwell music", location, ignore.case = TRUE) ~ "Accrington brick, Darley dale stone",
grepl("Next to", location, ignore.case = TRUE) ~ "Concrete",
grepl("T&L -", location, ignore.case = TRUE) ~ "Sandstone and bronze anodised aluminium cladding",
grepl("Library - ", location, ignore.case = TRUE) ~ "Aluminium and zinc cladding",
TRUE ~ NA_character_
)
)
filtered_data <- data %>%
filter(location %in% c(
"Downstairs uncovered Bramwell Music",
"Downstairs sheltered Bramwell Music",
"Outside Bramwell Music entrance",
"Next to Physics East",
"Next to Barber Institute",
"Next to Ashly Building",
"T&L - South Entrance",
"T&L - North entrance",
"T&L - Around the back",
"Library - North Side",
"Library - Main Entrance",
"Library - Around the back"
))
avg_data <- filtered_data %>%
group_by(date, material) %>%
summarise(avg_temperature = mean(temperature), .groups = "drop")
p <- ggplot(avg_data, aes(x = date, y = avg_temperature, colour = material, group = material)) +
geom_line(linewidth = 0.5) +
scale_y_continuous(breaks = seq(10, 30, by = 2)) +
theme_minimal() +
labs(
title = "Average temperature surrounding different building materials",
x = "Date",
y = "Average Temperature (°C)",
colour = "Building material"
) +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1))
interactive_plot <- ggplotly(p)
interactive_plot
This line graph shows that there isn’t a huge amount of correlation between temperature and building material. However, there is evidence to argue that concrete may be the most erratic, as it varies the most throughout the day, therefore actions may need to be taken in order to counteract this and result in more economical use of heating facilities within these buildings.
These graphs were made using all of the humidity data collected across every time and location, with the line graph being interactive.
humidity_data <- read.csv("C:/Users/lizzy/OneDrive/Documents/uni/Year 2/Digital data capture and analysis/Assessment/humidity_cleaned.csv")
humidity_data$Label <- round(humidity_data$humidity, 1)
ggplot(humidity_data, aes(x = date, y = location, fill = humidity)) +
geom_tile(colour = "white") +
geom_text(aes(label = Label), size = 3, colour = "white") +
scale_fill_viridis_c(option = "C") +
labs(title = "Heatmap showing variation in humidity by time and location",
x = "Time",
y = "Location",
fill = "Humidity (%)") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 90, hjust = 1),
panel.grid = element_blank())
This heat map clearly allows us to spot a pattern in the data when it comes to variation in humidity day to day, as each day starts off more humid and it then falls as the day goes on. This is significant when it comes to trying to come up with strategies to counteract the unwanted levels of humidity, as they could be time specific in order to be the most economical, and only use them during the worst times of the day.
data <- read.csv("C:/Users/lizzy/OneDrive/Documents/uni/Year 2/Digital data capture and analysis/Assessment/humidity_cleaned.csv")
data <- data %>%
mutate(
material = case_when(
grepl("Bramwell music", location, ignore.case = TRUE) ~ "Accrington brick, Darley dale stone",
grepl("Next to", location, ignore.case = TRUE) ~ "Concrete",
grepl("T&L -", location, ignore.case = TRUE) ~ "Sandstone and bronze anodised aluminium cladding",
grepl("Library - ", location, ignore.case = TRUE) ~ "Aluminium and zinc cladding",
TRUE ~ NA_character_
)
)
filtered_data <- data %>%
filter(location %in% c(
"Downstairs uncovered Bramwell Music",
"Downstairs sheltered Bramwell Music",
"Outside Bramwell Music entrance",
"Next to Physics East",
"Next to Barber Institute",
"Next to Ashly Building",
"T&L - South Entrance",
"T&L - North entrance",
"T&L - Around the back",
"Library - North Side",
"Library - Main Entrance",
"Library - Around the back"
))
avg_data <- filtered_data %>%
group_by(date, material) %>%
summarise(avg_humidity = mean(humidity), .groups = "drop")
p <- ggplot(avg_data, aes(x = date, y = avg_humidity, colour = material, group = material)) +
geom_line(linewidth = 0.5) +
scale_y_continuous(breaks = seq(30, 80, by = 5)) +
theme_minimal() +
labs(title = "Average Humidity surrounding different building materials",
x = "Date",
y = "Average Humidity (°C)",
color = "Building material") +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1))
interactive_plot <- ggplotly(p)
interactive_plot
This graph shows that there isn’t a large amount of variation when it comes to humidity due to the different building materials, however,it can be seen that concrete tends to be the lowest overall. This may suggest that if you want the micro-climate surrounding any future buildings to be less humid, then building it out of concrete would be your best option.
This graph uses all of the wind speed data collected across every location and time.
wind_data <- read_csv("C:/Users/lizzy/OneDrive/Documents/uni/Year 2/Digital data capture and analysis/Assessment/windspeed_cleaned.csv",show_col_types = FALSE)
p <- ggplot(wind_data, aes(x = Location, y = Windspeed, fill = Location)) +
geom_boxplot() +
labs(title = "Wind Speed Variation Across Locations",
x = "Location",
y = "Wind Speed (m/s)") +
theme_minimal() +
scale_y_continuous(breaks = seq(0, 6.5, by = 1)) +
theme(axis.text.x = element_text(angle = 90, hjust = 1),
legend.position = "none")
interactive_plot <- ggplotly(p)
interactive_plot
This box plot accounts for the large amounts of wind speed recordings that were 0m/s, therefore the lower down the main box of each location is, the less windy overall. However, this also accounts for any anomalies in certain locations, such as the 6.3m/s average time recorded next to physics east. Therefore, this graph allows for a clear view into which locations are prone to the highest/lowest wind speeds, for example the locations near Bramwell music tend to have much lower wind speeds.