Mapping postcodes in ggplot2

Try something like this. I don't have your data so I have made it up. But yours will be similar.

library(tidyverse)
library(sf)

# read in postcodes for qld
postcodes <- st_read("POA_2021_AUST_GDA2020.shp") %>% 
  select(POA_CODE21) %>% 
  filter(str_starts(POA_CODE21, "4")) %>% 
  rename(postcode = POA_CODE21)

# fake data
df <- tribble(~postcode, ~q3,
              "4000", 1,
              "4005", 2,
              "4006", 3,
              "4007", 4,
              "4008", 5,
              "4009", 4,
              "4010", 3)

# postcodes joined to data
joined_data <- inner_join(postcodes, df, by = "postcode")

# map
ggplot(joined_data) +
  geom_sf(aes(fill = q3))

image