Skip to content

Instantly share code, notes, and snippets.

@mrjoh3
Last active March 31, 2020 12:18
Show Gist options
  • Save mrjoh3/8258fb2143a859cdb7d6d8ffddb1d056 to your computer and use it in GitHub Desktop.
Save mrjoh3/8258fb2143a859cdb7d6d8ffddb1d056 to your computer and use it in GitHub Desktop.
Simple COVID-19 map demonstrating sequential colour scale
# load required packages
library(sf)
library(foreign)
library(dplyr)
library(ggplot2)
# COVID-19 data source
# 31 Mar 2020 https://app.powerbi.com/view?r=eyJrIjoiODBmMmE3NWQtZWNlNC00OWRkLTk1NjYtMjM2YTY1MjI2NzdjIiwidCI6ImMwZTA2MDFmLTBmYWMtNDQ5Yy05Yzg4LWExMDRjNGViOWYyOCJ9
cov <- tibble::tribble( ~ LGA_NAME, ~ Cases,
"ALPINE SHIRE", 0,
"ARARAT RURAL CITY", 1,
"BALLARAT CITY", 9,
"BANYULE CITY", 44,
"BASS COAST SHIRE", 2,
"BAW BAW SHIRE", 5,
"BAYSIDE CITY", 22,
"BENALLA RURAL CITY", 1,
"BOROONDARA CITY", 46,
"BRIMBANK CITY", 19,
"BULOKE SHIRE", 0,
"CAMPASPE SHIRE", 1,
"CARDINIA SHIRE", 7,
"CASEY CITY", 28,
"CENTRAL GOLDFIELDS SHIRE", 0,
"COLAC OTWAY SHIRE", 0,
"CORANGAMITE SHIRE", 1,
"DAREBIN CITY", 24,
"EAST GIPPSLAND SHIRE", 1,
"FALLS CREEK ALPINE RESORT (UNINCORPORATED)", 0,
"FRANKSTON CITY", 28,
"FRENCH-ELIZABETH-SANDSTONE ISLANDS (UNINC)", 0,
"GABO ISLAND (UNINCORPORATED)", 0,
"GANNAWARRA SHIRE", 1,
"GLEN EIRA CITY", 38,
"GLENELG SHIRE", 1,
"GOLDEN PLAINS SHIRE", 0,
"GREATER BENDIGO CITY", 10,
"GREATER DANDENONG CITY", 9,
"GREATER GEELONG CITY", 43,
"GREATER SHEPPARTON CITY", 7,
"HEPBURN SHIRE", 2,
"HINDMARSH SHIRE", 0,
"HOBSONS BAY CITY", 11,
"HORSHAM RURAL CITY", 2,
"HUME CITY", 26,
"INDIGO SHIRE", 0,
"KINGSTON CITY", 14,
"KNOX CITY", 9,
"LAKE MOUNTAIN ALPINE RESORT (UNINCORPORATED)", 0,
"LATROBE CITY", 5,
"LODDON SHIRE", 0,
"MACEDON RANGES SHIRE", 5,
"MANNINGHAM CITY", 14,
"MANSFIELD SHIRE", 2,
"MARIBYRNONG CITY", 7,
"MAROONDAH CITY", 6,
"MELBOURNE CITY", 40,
"MELTON CITY", 15,
"MILDURA RURAL CITY", 3,
"MITCHELL SHIRE", 6,
"MOIRA SHIRE", 7,
"MONASH CITY", 26,
"MOONEE VALLEY CITY", 26,
"MOORABOOL SHIRE", 1,
"MORELAND CITY", 39,
"MORNINGTON PENINSULA SHIRE", 46,
"MOUNT ALEXANDER SHIRE", 6,
"MOUNT BAW BAW ALPINE RESORT (UNINCORPORATED)", 0,
"MOUNT BULLER ALPINE RESORT (UNINCORPORATED)", 0,
"MOUNT HOTHAM ALPINE RESORT (UNINCORPORATED)", 0,
"MOUNT STIRLING ALPINE RESORT (UNINCORPORATED)", 0,
"MOYNE SHIRE", 1,
"MURRINDINDI SHIRE", 0,
"NILLUMBIK SHIRE", 12,
"NORTHERN GRAMPIANS SHIRE", 3,
"PORT PHILLIP CITY", 33,
"PYRENEES SHIRE", 0,
"QUEENSCLIFFE BOROUGH", 0,
"SOUTH GIPPSLAND SHIRE", 2,
"SOUTHERN GRAMPIANS SHIRE", 0,
"STONNINGTON CITY", 76,
"STRATHBOGIE SHIRE", 2,
"SURF COAST SHIRE", 8,
"SWAN HILL RURAL CITY", 2,
"TOWONG SHIRE", 1,
"WANGARATTA RURAL CITY", 1,
"WARRNAMBOOL CITY", 4,
"WELLINGTON SHIRE", 6,
"WEST WIMMERA SHIRE", 0,
"WHITEHORSE CITY", 10,
"WHITTLESEA CITY", 14,
"WODONGA CITY", 1,
"WYNDHAM CITY", 24,
"YARRA CITY", 18,
"YARRA RANGES SHIRE", 18,
"YARRIAMBIACK SHIRE", 1
)
# import LGA shapefile and names
shp <- st_read('shp/VIC_LGA_POLYGON_shp.shp')
dat <- foreign::read.dbf('shp/VIC_LGA_shp.dbf')
df <- left_join(shp, dat, by = 'LGA_PID') %>%
mutate(LGA_NAME = as.character(LGA_NAME)) %>%
left_join(cov, by = 'LGA_NAME')
# minimal plot with seq scale
ggplot(df) +
geom_sf(aes(fill = Cases), size = .05) +
scale_fill_gradientn(trans = 'sqrt',
colors = RColorBrewer::brewer.pal(9, 'RdPu')) +
theme_void() +
theme(legend.position="bottom")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment