Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

made draft hexsticker #383

Merged
merged 17 commits into from
Jun 28, 2021
Merged
Show file tree
Hide file tree
Changes from 15 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ repos:
rev: v3.4.0
hooks:
- id: check-added-large-files
args: ['--maxkb=200']
args: ['--maxkb=800']
- id: end-of-file-fixer
exclude: '\.Rd'
- repo: local
Expand Down
15 changes: 15 additions & 0 deletions README.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,21 @@ knitr::opts_chunk$set(
)
```


# Hexsticker designs

### Design 1
![Design 1](man/figures/logo1.png)

### Design 2
![design 2](man/figures/logo2.png)

### Design 3
![design 3](man/figures/logo3.png)

### Design 5
![design 5](man/figures/logo5.png)

# Subnational data for the COVID-19 outbreak

[![Lifecycle: maturing](https://img.shields.io/badge/lifecycle-maturing-blue.svg)](https://lifecycle.r-lib.org/articles/stages.html) [![R-CMD-check](https://github.com/epiforecasts/covidregionaldata/workflows/R-CMD-check/badge.svg)](https://github.com/epiforecasts/covidregionaldata/actions) [![Codecov test coverage](https://codecov.io/gh/epiforecasts/covidregionaldata/branch/master/graph/badge.svg)](https://codecov.io/gh/epiforecasts/covidregionaldata?branch=master) [![Data status](https://img.shields.io/badge/Data-status-lightblue.svg?style=flat)](https://epiforecasts.io/covidregionaldata/articles/supported-countries.html) [![metacran downloads](http://cranlogs.r-pkg.org/badges/grand-total/covidregionaldata?color=ff69b4)](https://cran.r-project.org/package=covidregionaldata)
Expand Down
48 changes: 33 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,22 @@

# Hexsticker designs

### Design 1

![Design 1](man/figures/logo1.png)

### Design 2

![design 2](man/figures/logo2.png)

### Design 3

![design 3](man/figures/logo3.png)

### Design 5

![design 5](man/figures/logo5.png)

# Subnational data for the COVID-19 outbreak

[![Lifecycle:
Expand Down Expand Up @@ -27,11 +45,11 @@ both official sources, such as Public Health England in the UK, and from
other Covid-19 data collections, including the World Health Organisation
(WHO), European Centre for Disease Prevention and Control (ECDC), John
Hopkins University (JHU), Google Open Data and others. This package is
designed to streamline Covid-19 data extraction, cleaning, and processing
from a range of data sources in an open and transparent way. This allows
users to inspect and scrutinise the data, and tools used to process it,
at every step. For all countries supported, data includes a daily
time-series of cases and, wherever available, data on deaths,
designed to streamline Covid-19 data extraction, cleaning, and
processing from a range of data sources in an open and transparent way.
This allows users to inspect and scrutinise the data, and tools used to
process it, at every step. For all countries supported, data includes a
daily time-series of cases and, wherever available, data on deaths,
hospitalisations, and tests. National level data is also supported using
a range of data sources as well as line list data and links to
intervention data sets.
Expand Down Expand Up @@ -78,7 +96,7 @@ the temporary directory by default),

``` r
start_using_memoise()
#> Using a cache at: /tmp/RtmpJAeC7J
#> Using a cache at: /tmp/Rtmp22YZr9
```

To stop using `memoise` use,
Expand All @@ -103,7 +121,7 @@ the Google COVID-19 open data project), use:
``` r
nots <- get_national_data()
#> Downloading data from https://covid19.who.int/WHO-COVID-19-global-data.csv
#> Rows: 124,425
#> Rows: 126,084
#> Columns: 8
#> Delimiter: ","
#> chr [3]: Country_code, Country, WHO_region
Expand All @@ -115,7 +133,7 @@ nots <- get_national_data()
#> Cleaning data
#> Processing data
nots
#> # A tibble: 124,425 x 15
#> # A tibble: 126,084 x 15
#> date un_region who_region country iso_code cases_new cases_total
#> <date> <chr> <chr> <chr> <chr> <dbl> <dbl>
#> 1 2020-01-03 Asia EMRO Afghanistan AF 0 0
Expand All @@ -128,7 +146,7 @@ nots
#> 8 2020-01-03 Americas AMRO Antigua & Bar… AG 0 0
#> 9 2020-01-03 Americas AMRO Argentina AR 0 0
#> 10 2020-01-03 Asia EURO Armenia AM 0 0
#> # … with 124,415 more rows, and 8 more variables: deaths_new <dbl>,
#> # … with 126,074 more rows, and 8 more variables: deaths_new <dbl>,
#> # deaths_total <dbl>, recovered_new <dbl>, recovered_total <dbl>,
#> # hosp_new <dbl>, hosp_total <dbl>, tested_new <dbl>, tested_total <dbl>
```
Expand Down Expand Up @@ -169,7 +187,7 @@ for example by level 1 region in the UK, use:
``` r
uk_nots <- get_regional_data(country = "UK", verbose = FALSE)
uk_nots
#> # A tibble: 6,474 x 26
#> # A tibble: 6,565 x 26
#> date region region_code cases_new cases_total deaths_new deaths_total
#> <date> <chr> <chr> <dbl> <dbl> <dbl> <dbl>
#> 1 2020-01-30 East Mi… E12000004 NA NA NA NA
Expand All @@ -182,7 +200,7 @@ uk_nots
#> 8 2020-01-30 Scotland S92000003 NA NA NA NA
#> 9 2020-01-30 South E… E12000008 NA NA NA NA
#> 10 2020-01-30 South W… E12000009 NA NA NA NA
#> # … with 6,464 more rows, and 19 more variables: recovered_new <dbl>,
#> # … with 6,555 more rows, and 19 more variables: recovered_new <dbl>,
#> # recovered_total <dbl>, hosp_new <dbl>, hosp_total <dbl>, tested_new <dbl>,
#> # tested_total <dbl>, areaType <chr>, cumCasesByPublishDate <dbl>,
#> # cumCasesBySpecimenDate <dbl>, newCasesByPublishDate <dbl>,
Expand Down Expand Up @@ -256,10 +274,10 @@ using the following,

[![Development](https://img.shields.io/badge/Wiki-lightblue.svg?style=flat)](https://github.com/epiforecasts/covidregionaldata/wiki/)

This package is the result of work from a number of contributors
(see contributors list in the
[here](https://epiforecasts.io/covidregionaldata/authors.html)).
We would like to thank the [CMMID COVID-19 working
This package is the result of work from a number of contributors (see
contributors list
[here](https://epiforecasts.io/covidregionaldata/authors.html)). We
would like to thank the [CMMID COVID-19 working
group](https://cmmid.github.io/groups/ncov-group.html) for inciteful
comments and feedback.

Expand Down
1 change: 1 addition & 0 deletions inst/WORDLIST
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,7 @@ HDTRA
Healy
hellewell
Hellewell
Hexsticker
Hiroaki
hl
Hongru
Expand Down
202 changes: 202 additions & 0 deletions inst/make_hexsticker.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,202 @@
library(covidregionaldata)
library(hexSticker)
library(showtext)
library(ggplot2)
library(dplyr)
library(maps)
library(countrycode)
library(sf)
library(rnaturalearth)
library(rmapshaper)

# font setup
font_add_google("Zilla Slab Highlight", "useme")

# get countries we have data for
regional_countries <- get_available_datasets() %>%
filter(.data$type == "regional")

regional_countries_l2 <- regional_countries %>%
filter(!(is.na(.data$level_2_region)))

regional_countries_l1 <- regional_countries %>%
filter(is.na(.data$level_2_region))

# get world data
world <- spData::world %>%
st_as_sf()


# mark supported countries from the world data
supported_countries <- world %>%
mutate(
fill = case_when(
name_long %in% countryname(regional_countries_l2[["origin"]], destination = "country.name.en") ~ "Level 2",
name_long %in% countryname(regional_countries[["origin"]], destination = "country.name.en") ~ "Level 1",
TRUE ~ "Unsupported"
)
)

# make covid map
covid_map_1 <- ggplot() +
ggspatial::layer_spatial(data = supported_countries, aes(fill = fill, color = fill, size = fill)) +
coord_sf(crs = "ESRI:54010") +
scale_fill_manual(
name = "",
values = c("#0072b2", "#cc79a7", "grey80")
) +
scale_color_manual(
name = "",
values = c("black", "black", "#666666")
) +
scale_size_manual(
name = "",
values = c(0.1, 0.1, 0.018)
) +
cowplot::theme_minimal_grid(color = "white", line_size = 0.05) +
theme(legend.position = "none", axis.text.x = element_blank())

logo1 <- sticker(
covid_map_1,
package = "covidregionaldata",
p_size = 48, s_x = 1, s_y = 0.8, s_width = 1.98, s_height = 1.98,
p_y = 1.45,
p_color = "white",
p_family = "useme",
h_color = "#646770",
h_fill = "#24A7DF",
filename = "man/figures/logo1.png",
u_size = 3.5,
dpi = 1000
)

# make logo 2
supported_countries <- supported_countries %>%
filter(name_long != "Antarctica")

covid_map_2 <- ggplot() +
ggspatial::layer_spatial(data = supported_countries, aes(fill = fill, size = fill, color = fill)) +
coord_sf(crs = "ESRI:54016") +
scale_fill_manual(
name = "",
values = c("#0072b2", "#cc79a7", "grey80")
) +
scale_color_manual(
name = "",
values = c("black", "black", "#666666")
) +
scale_size_manual(
name = "",
values = c(0.1, 0.1, 0.018)
) +
theme_void() +
theme(legend.position = "none", axis.text.x = element_blank())

print(covid_map_2)

# Approach using Natural Earth data

world_without_regions <- ne_countries(returnclass = "sf") %>%
filter(sovereignt != "Antarctica")

# numberOfLevels should be less than half the number of colours in the
# divergent palette used (usually 7)
numberOfLevels <- 3

regional_maps_l1 <- ms_simplify(
ne_states(gsub(" \\(.*\\)", "",
regional_countries_l1$origin,
perl = TRUE
), returnclass = "sf") %>%
mutate(region_code = woe_id %% numberOfLevels),
keep = 0.04
)

regional_maps_l2 <- ms_simplify(
ne_states(gsub(" \\(.*\\)", "",
regional_countries_l2$origin,
perl = TRUE
), returnclass = "sf") %>%
mutate(region_code = woe_id %% numberOfLevels + numberOfLevels + 1),
keep = 0.04
)

regional_maps <- bind_rows(regional_maps_l1, regional_maps_l2)

# We keep 50% of the points of the country outlines because it's a
# finer scale map
# We add the US and the UK to the list because otherwise we don't
# successfully include them.
regional_outlines <- ms_lines(
ms_simplify(
joseph-palmer marked this conversation as resolved.
Show resolved Hide resolved
ne_countries(
country = c(
gsub(" \\(.*\\)", "", regional_countries$origin, perl = TRUE),
"United States", "United Kingdom"
),
returnclass = "sf"
),
keep = 0.5
joseph-palmer marked this conversation as resolved.
Show resolved Hide resolved
)
)


covid_map_3 <- ggplot() +
ggspatial::layer_spatial(data = world_without_regions, size = 0.01) +
ggspatial::layer_spatial(
data = regional_maps,
aes(fill = region_code), size = 0.02
) +
ggspatial::layer_spatial(
data = regional_outlines,
aes(colour = 1), size = 0.1
joseph-palmer marked this conversation as resolved.
Show resolved Hide resolved
) +
coord_sf(crs = "ESRI:54016") +
scale_fill_fermenter(palette = "RdBu") +
theme_void() +
joseph-palmer marked this conversation as resolved.
Show resolved Hide resolved
theme(legend.position = "none", axis.text.x = element_blank())

print(covid_map_3)

logo2 <- sticker(
covid_map_2,
package = "covidregionaldata",
p_size = 48, s_x = 0.96, s_y = 0.8, s_width = 1.7, s_height = 1.7,
p_y = 1.45,
p_color = "white",
p_family = "useme",
h_color = "#646770",
h_fill = "#24A7DF",
filename = "man/figures/logo2.png",
u_size = 3.5,
dpi = 1000
)

logo3 <- sticker(
covid_map_2,
package = "covidregionaldata",
p_size = 48, s_x = 1, s_y = 0.8, s_width = 1.7, s_height = 1.7,
p_y = 1.45,
p_color = "white",
p_family = "useme",
h_color = "#646770",
h_fill = "#24A7DF",
filename = "man/figures/logo3.png",
u_size = 3.5,
dpi = 1000
)

logo4 <- sticker(
covid_map_3,
package = "covidregionaldata",
p_size = 48, s_x = 1, s_y = 0.8, s_width = 1.7, s_height = 1.7,
p_y = 1.45,
p_color = "white",
p_family = "useme",
h_color = "#646770",
h_fill = "#24A7DF",
filename = "man/figures/logo5.png",
u_size = 3.5,
dpi = 1000
)

Binary file modified man/figures/README-g7_plot-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified man/figures/README-uk_plot-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added man/figures/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added man/figures/logo1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added man/figures/logo2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added man/figures/logo3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added man/figures/logo4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added man/figures/logo5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.