Remove unused members of the Router class (#6232).
[tor-metrics-tasks/delber.git] / task-4030 / bridge-blockings.R
blobda40186f10fb4fc613f8cc3af85657830fafdccb
1 library(ggplot2)
3 u <- read.csv("bridge-users.csv", stringsAsFactors = FALSE)
4 u <- u[u$date >= "2009-07-01" & u$date < "2011-08-01", c("date", "cn")]
5 ggplot(u, aes(x = as.Date(date), y = cn)) +
6 geom_line(size = 0.75) +
7 geom_rect(aes(NULL, NULL, xmin = as.Date("2010-01-01"),
8     xmax = as.Date("2010-06-30"), ymin = -Inf, ymax = Inf, fill = TRUE)) +
9 scale_fill_manual(name = "", breaks = TRUE,
10     values = alpha("purple", 0.2)) +
11 scale_x_date(name = "", major = "6 months", minor = "1 month",
12     format = "%b %Y") +
13 scale_y_continuous(name = "", limits = c(0, max(u$cn, na.rm = TRUE))) +
14 opts(legend.position = "none")
15 ggsave("bridge-users.png", width = 8, height = 4, dpi = 150)
17 b <- read.csv("bridge-blockings.csv", stringsAsFactors = FALSE)
18 b <- b[b$date >= '2010-01-01' & b$date <= '2010-06-30', ]
19 fingerprints <- unique(b[b$ips >= 100, "fingerprint"])
20 b <- b[b$fingerprint %in% fingerprints, ]
22 d <- data.frame(date = b$date, blocked = ifelse(b$ips < 40, 1, NA))
23 d <- na.omit(d)
24 d <- aggregate(d$blocked, by = list(date = d$date), sum)
25 e <- as.Date(setdiff(seq(from = as.Date("2010-01-01"),
26     to = as.Date("2010-06-30"), by = "1 day"), as.Date(d$date)),
27     origin = "1970-01-01")
28 u <- u[u$date >= '2010-01-01' & u$date <= '2010-06-30', ]
29 d <- rbind(data.frame(date = u$date, value = u$cn, variable = "Users"),
30     data.frame(date = d$date, value = d$x, variable = "Blocked Bridges"),
31     data.frame(date = as.character(e), value = 0,
32     variable = "Blocked Bridges"))
33 ggplot(d, aes(x = as.Date(date), y = value)) +
34 geom_line(size = 0.75) +
35 facet_grid(variable ~ ., scales = "free_y") +
36 scale_x_date(name = "", format = "%b %Y", major = "1 month",
37     minor = "months") +
38 scale_y_continuous(name = "")
39 ggsave("bridge-users-blockings.png", width = 8, height = 4, dpi = 150)
41 b <- data.frame(date = as.Date(b$date), ips = b$ips,
42     fingerprint = substr(b$fingerprint, 1, 4),
43     blocked = ifelse(b$blocked, "red", "black"))
44 bb <- b
45 bb[!is.na(b$ips) & b$ips >= 36, "ips"] <- NA
46 ggplot(b, aes(x = date, y = ips)) +
47 facet_wrap(~ fingerprint, ncol = 4) +
48 geom_line(size = 0.75) +
49 geom_point(size = 0.75) +
50 geom_hline(yintercept = 32, linetype = 2, size = 0.25) +
51 geom_point(data = bb, aes(x = date, y = ips), colour = "red", size = 3,
52     alpha = 0.25) +
53 scale_x_date(name = "", format = "%b", major = "2 months",
54     minor = "months") +
55 scale_y_continuous(name = "", breaks = c(0, 500, 1000)) +
56 scale_colour_manual(breaks = c("red", "black"),
57     values = c("red", "black")) +
58 opts(legend.position = "none")
59 ggsave("bridge-blockings.png", height = 9, width = 8)