Using the tidyverse set of R packages
require(readr)
require(ggplot2)
require(dplyr)
require(scales)
s5 <- read_csv("https://metrics.torproject.org/stats/servers.csv") %>%
filter(flag == "HSDir") %>%
select(date, relays) %>%
mutate(date = as.Date(date))
h5 <- read_csv("https://metrics.torproject.org/stats/hidserv.csv") %>%
filter(type == "dir-onions-seen") %>%
select(date, wiqm) %>%
mutate(date = as.Date(date))
m5 <- full_join(s5, h5, by = "date") %>%
rename(hsdirs = relays, onions = wiqm)
ggplot(m5, aes(x = date, y = 6 * onions / hsdirs)) +
geom_line() +
scale_x_date(name = "") +
scale_y_continuous(name = "") +
expand_limits(y = 0) +
ggtitle("Average onion service descriptor count per directory\n") +
theme(plot.title = element_text(hjust = 0.5))m6 <- m5 %>% filter(date >= "2014-12-15")
ggplot(m6, aes(x = date, y = 6 * onions / hsdirs)) +
geom_line() +
scale_x_date(name = "") +
scale_y_continuous(name = "") +
expand_limits(y = 0) +
ggtitle("Average onion service descriptor count per directory\n") +
theme(plot.title = element_text(hjust = 0.5))