Every AQHI level (1-10, "+", and NA) is assigned a hexidecimal colour code for visualization.
These colours are defined by Environment and Climate Change Canada such that:
Low AQHI (1-3) are light to dark blue
Moderate AQHI (4-6) are yellow to orange
High AQHI (7-10) are light to dark red
Very High AQHI (+) is darker red
Missing AQHI (NA) is light grey
Usage
get_aqhi_colours(values = c(1:10, "+", NA), types = "aqhi")Arguments
- values
(Optional). A vector of AQHI levels (1-10, "+", or NA) if
typeis "aqhi" OR A vector of hourly PM2.5 concentrations (ug/m3) iftypeis "pm25_1hr". Default is all AQHI levels.- types
(Optional). A single character value, or a vector the same length as
values, indicating the type(s) of values invalues. Must all be within either "aqhi" or "pm25_1hr". Default is "aqhi".
References
Environment and Climate Change Canada: https://www.canada.ca/en/environment-climate-change/services/air-quality-health-index/about.html
Examples
# Get AQHI colours for all AQHI levels
get_aqhi_colours()
#> [1] "#21C6F5" "#189ACA" "#0D6797" "#FFFD37" "#FFCC2E" "#FE9A3F" "#FD6769"
#> [8] "#FF3B3B" "#FF0101" "#CB0713" "#650205" "#bbbbbb"
# Get AQHI colours for observation data
hourly_pm25_ugm3 <- sample(1:100, 50, replace = TRUE)
aqhi_levels <- hourly_pm25_ugm3 |>
AQHI_plus(detailed = FALSE)
aqhi_levels |> get_aqhi_colours()
#> [1] "#FFCC2E" "#FFFD37" "#FD6769" "#FF3B3B" "#FD6769" "#21C6F5" "#0D6797"
#> [8] "#FF3B3B" "#FF3B3B" "#21C6F5" "#FD6769" "#FE9A3F" "#FFCC2E" "#FD6769"
#> [15] "#FFCC2E" "#21C6F5" "#FF0101" "#FFCC2E" "#FD6769" "#FFFD37" "#FD6769"
#> [22] "#FD6769" "#21C6F5" "#FFFD37" "#FFFD37" "#FF0101" "#FF0101" "#FFCC2E"
#> [29] "#21C6F5" "#FFFD37" "#FE9A3F" "#FD6769" "#21C6F5" "#0D6797" "#21C6F5"
#> [36] "#FFFD37" "#FFFD37" "#189ACA" "#FE9A3F" "#FE9A3F" "#0D6797" "#CB0713"
#> [43] "#21C6F5" "#FD6769" "#FFFD37" "#FE9A3F" "#FFCC2E" "#FD6769" "#0D6797"
#> [50] "#FFFD37"
# The same but with PM2.5 provided
hourly_pm25_ugm3 |> get_aqhi_colours(types = "pm25_1hr")
#> [1] "#FFCC2E" "#FFFD37" "#FD6769" "#FF3B3B" "#FD6769" "#21C6F5" "#0D6797"
#> [8] "#FF3B3B" "#FF3B3B" "#21C6F5" "#FD6769" "#FE9A3F" "#FFCC2E" "#FD6769"
#> [15] "#FFCC2E" "#21C6F5" "#FF0101" "#FFCC2E" "#FD6769" "#FFFD37" "#FD6769"
#> [22] "#FD6769" "#21C6F5" "#FFFD37" "#FFFD37" "#FF0101" "#FF0101" "#FFCC2E"
#> [29] "#21C6F5" "#FFFD37" "#FE9A3F" "#FD6769" "#21C6F5" "#0D6797" "#21C6F5"
#> [36] "#FFFD37" "#FFFD37" "#189ACA" "#FE9A3F" "#FE9A3F" "#0D6797" "#CB0713"
#> [43] "#21C6F5" "#FD6769" "#FFFD37" "#FE9A3F" "#FFCC2E" "#FD6769" "#0D6797"
#> [50] "#FFFD37"
# Or even a mix
values <- c(aqhi_levels, hourly_pm25_ugm3)
types <- rep("aqhi", length(aqhi_levels)) |>
c(rep("pm25_1hr", length(hourly_pm25_ugm3)))
values |> get_aqhi_colours(types = types)
#> [1] "#FFCC2E" "#FFFD37" "#FD6769" "#FF3B3B" "#FD6769" "#21C6F5" "#0D6797"
#> [8] "#FF3B3B" "#FF3B3B" "#21C6F5" "#FD6769" "#FE9A3F" "#FFCC2E" "#FD6769"
#> [15] "#FFCC2E" "#21C6F5" "#FF0101" "#FFCC2E" "#FD6769" "#FFFD37" "#FD6769"
#> [22] "#FD6769" "#21C6F5" "#FFFD37" "#FFFD37" "#FF0101" "#FF0101" "#FFCC2E"
#> [29] "#21C6F5" "#FFFD37" "#FE9A3F" "#FD6769" "#21C6F5" "#0D6797" "#21C6F5"
#> [36] "#FFFD37" "#FFFD37" "#189ACA" "#FE9A3F" "#FE9A3F" "#0D6797" "#CB0713"
#> [43] "#21C6F5" "#FD6769" "#FFFD37" "#FE9A3F" "#FFCC2E" "#FD6769" "#0D6797"
#> [50] "#FFFD37" "#FFCC2E" "#FFFD37" "#FD6769" "#FF3B3B" "#FD6769" "#21C6F5"
#> [57] "#0D6797" "#FF3B3B" "#FF3B3B" "#21C6F5" "#FD6769" "#FE9A3F" "#FFCC2E"
#> [64] "#FD6769" "#FFCC2E" "#21C6F5" "#FF0101" "#FFCC2E" "#FD6769" "#FFFD37"
#> [71] "#FD6769" "#FD6769" "#21C6F5" "#FFFD37" "#FFFD37" "#FF0101" "#FF0101"
#> [78] "#FFCC2E" "#21C6F5" "#FFFD37" "#FE9A3F" "#FD6769" "#21C6F5" "#0D6797"
#> [85] "#21C6F5" "#FFFD37" "#FFFD37" "#189ACA" "#FE9A3F" "#FE9A3F" "#0D6797"
#> [92] "#CB0713" "#21C6F5" "#FD6769" "#FFFD37" "#FE9A3F" "#FFCC2E" "#FD6769"
#> [99] "#0D6797" "#FFFD37"