geofacet
library(pragr)
library(CzechData)
#> Loading required package: sf
#> Linking to GEOS 3.12.1, GDAL 3.8.4, PROJ 9.4.0; sf_use_s2() is TRUE
#> CzechData package - clearing cache.
library(geofacet)
library(ggplot2)
library(dplyr)
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
library(sf)
phamc0 <- CzechData::load_RUIAN_settlement("554782", "MOMC_P")
#> ℹ Downloading data.
#> ✔ Data unpacked.
mcds <- phamc0 %>%
mutate(area = st_area(geometry) %>% units::drop_units(),
h = 1) %>%
st_set_geometry(NULL) %>%
select(code = kod, area, h)
d_age <- district_age_structure %>%
rename(code = KOD_ZUJ) %>%
filter(age != "Total")
ggplot(d_age) +
geom_col(aes(x = year, y = count, fill = age), position = "fill", width = 1) +
facet_geo(~ code, grid = district_geofacet %>%
left_join(district_names %>% select(code,
name_label = name_short)),
label = "name_label") +
theme_minimal(base_family = "Roboto", base_size = 9) +
theme(text = element_text(colour = "grey90", face = "bold"),
plot.background = element_rect(fill = "grey10"),
panel.grid = element_blank(),
axis.ticks = element_blank(),legend.key.height = unit(10, "pt"),
panel.background = element_rect(fill = "grey10", colour = NA),
strip.text = element_text(colour = "grey90")) +
scale_x_continuous(breaks = c(min(d_age$year), max(d_age$year)),
labels = c(" 2011", "19 "),
name = "") +
scale_fill_viridis_d(option = "E", direction = -1) +
scale_y_continuous(labels = scales::label_percent(suffix = " %"), name = NULL)
#> Joining with `by = join_by(code)`
#> Note: You provided a user-specified grid. If this is a generally-useful grid,
#> please consider submitting it to become a part of the geofacet package. You can
#> do this easily by calling: grid_submit(__grid_df_name__)
d_median <- district_age_median %>%
filter(sex == "Total") %>%
rename(code = KOD_ZUJ)
ggplot(d_median) +
geom_line(aes(x = year, y = median_age), colour = "grey90") +
facet_geo(~ code, grid = district_geofacet %>%
left_join(district_names %>% select(code, name_label = name_short)),
label = "name_label") +
theme_minimal(base_size = 9, base_family = "Roboto") +
theme(text = element_text(colour = "grey90", face = "bold"),
plot.background = element_rect(fill = "grey10"),
panel.grid = element_blank(),
axis.ticks = element_blank(),legend.key.height = unit(10, "pt"),
panel.background = element_rect(fill = "grey20", colour = NA),
strip.text = element_text(colour = "grey90")) +
scale_x_continuous(breaks = c(min(d_median$year), max(d_median$year)),
labels = c(" 2011", "19 "),
name = "") +
scale_y_continuous(limits = c(35, 45)) +
# scale_colour_viridis_c(option = "magma",direction = -1, guide = "none") +
labs(x = NULL, y = NULL)
#> Joining with `by = join_by(code)`
#> Note: You provided a user-specified grid. If this is a generally-useful grid,
#> please consider submitting it to become a part of the geofacet package. You can
#> do this easily by calling: grid_submit(__grid_df_name__)