Update plots.

This commit is contained in:
mattbk 2024-01-09 19:49:07 -06:00
parent 324d51525a
commit 590786aa18

View File

@ -7,7 +7,7 @@ library(ggthemes)
# Read in data from Wayback Machine archive of http://www.arrl.org/fcc-license-counts # Read in data from Wayback Machine archive of http://www.arrl.org/fcc-license-counts
d_raw <- read.csv("data/arrl us ham radio licenses over time.csv") d_raw <- read.csv("data/us ham radio licenses over time.csv")
# What dates do we have? # What dates do we have?
unique(d_raw$Date) unique(d_raw$Date)
@ -15,12 +15,15 @@ unique(d_raw$Date)
# Clean up here if needed # Clean up here if needed
d <- d_raw %>% d <- d_raw %>%
mutate(Date = as.Date(Date)) %>% mutate(Date = as.Date(Date)) %>%
mutate(across(c(3:9), as.numeric)) # Drop Tech alone and leave Tech and Tech Plus
select(-c(Tech, Tech.Plus)) %>%
mutate(across(c(3:8), as.numeric))
d_total <- d %>% filter(State.Territory == "TOTAL") d_total <- d %>% filter(State.Territory == "TOTAL")
d_total_long <- d_total %>% d_total_long <- d_total %>%
pivot_longer(cols = 3:9, pivot_longer(cols = 3:8,
names_to = "lclass", names_to = "lclass",
values_to = "count") values_to = "count")
@ -29,33 +32,37 @@ d_total_long <- d_total %>%
##### Total over time ##### ##### Total over time #####
ggplot(data = d_total, ggplot(data = d_total,
aes(x = Date, aes(x = Date,
y = Total)) + y = Total,
color = source_name)) +
geom_line() + geom_line() +
geom_point() + geom_point() +
scale_x_date(date_breaks = "1 year", scale_x_date(date_breaks = "10 years",
date_minor_breaks = "1 month", date_minor_breaks = "1 year",
date_labels = "%Y") + date_labels = "%Y") +
scale_y_continuous(labels = scales::comma) + scale_y_continuous(labels = scales::comma) +
theme_bw() + theme_bw() +
labs(title = "US Amateur Licenses", labs(title = "US Amateur Licenses",
subtitle = "http://www.arrl.org/fcc-license-counts, Wayback Machine", subtitle = "ARRL, AH0A",
caption = "w1cdn.net") caption = "w1cdn.net",
color = "Source")
##### Total over time, y = 0 ##### ##### Total over time, y = 0 #####
ggplot(data = d_total, ggplot(data = d_total,
aes(x = Date, aes(x = Date,
y = Total)) + y = Total,
color = source_name)) +
geom_line() + geom_line() +
geom_point() + geom_point() +
scale_x_date(date_breaks = "1 year", scale_x_date(date_breaks = "10 years",
date_minor_breaks = "1 month", date_minor_breaks = "1 year",
date_labels = "%Y") + date_labels = "%Y") +
scale_y_continuous(labels = scales::comma, scale_y_continuous(labels = scales::comma,
limits = c(0, NA)) + limits = c(0, NA)) +
theme_bw() + theme_bw() +
labs(title = "US Amateur Licenses", labs(title = "US Amateur Licenses",
subtitle = "http://www.arrl.org/fcc-license-counts, Wayback Machine", subtitle = "ARRL, AH0A",
caption = "w1cdn.net") caption = "w1cdn.net",
color = "Source")
##### By license class ##### ##### By license class #####
ggplot(data = d_total_long %>% filter(lclass != "Total"), ggplot(data = d_total_long %>% filter(lclass != "Total"),
@ -64,14 +71,14 @@ ggplot(data = d_total_long %>% filter(lclass != "Total"),
color = fct_reorder2(lclass, Date, count))) + color = fct_reorder2(lclass, Date, count))) +
geom_line() + geom_line() +
geom_point() + geom_point() +
scale_x_date(date_breaks = "1 year", scale_x_date(date_breaks = "10 years",
date_minor_breaks = "1 month", date_minor_breaks = "1 year",
date_labels = "%Y") + date_labels = "%Y") +
scale_y_continuous(labels = scales::comma) + scale_y_continuous(labels = scales::comma) +
scale_color_colorblind() + scale_color_colorblind() +
theme_bw() + theme_bw() +
labs(title = "US Amateur Licenses by Class", labs(title = "US Amateur Licenses by Class",
subtitle = "http://www.arrl.org/fcc-license-counts, Wayback Machine", subtitle = "ARRL, AH0A",
y = "Count", y = "Count",
color = "Class", color = "Class",
caption = "w1cdn.net") caption = "w1cdn.net")
@ -83,13 +90,13 @@ ggplot(data = d_total_long %>% filter(lclass != "Total"),
fill = fct_reorder2(lclass, Date, count))) + fill = fct_reorder2(lclass, Date, count))) +
geom_area() + geom_area() +
scale_fill_colorblind() + scale_fill_colorblind() +
scale_x_date(date_breaks = "1 year", scale_x_date(date_breaks = "10 years",
date_minor_breaks = "1 month", date_minor_breaks = "1 year",
date_labels = "%Y") + date_labels = "%Y") +
scale_y_continuous(labels = scales::comma) + scale_y_continuous(labels = scales::comma) +
theme_bw() + theme_bw() +
labs(title = "US Amateur Licenses by Class", labs(title = "US Amateur Licenses by Class",
subtitle = "http://www.arrl.org/fcc-license-counts, Wayback Machine", subtitle = "ARRL, AH0A",
fill = "Class", fill = "Class",
caption = "w1cdn.net") caption = "w1cdn.net")