/
timeline.R
125 lines (107 loc) · 3.25 KB
/
timeline.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
library(readr)
library(dplyr)
library(ggplot2)
events <- read_csv("timeline-playground/events-Table 1.csv")
intervals <- read_csv("timeline-playground/intervals-Table 1.csv")
hues <- c()
hues$tapestry_label <- "#9C179EFF"
hues$plan <- viridis::plasma(5)[4]
hues$reality <- "#F0F921FF"
step1 <- intervals %>%
filter(!is.na(start)) %>%
ggplot(aes(xmin = start,
xmax = end,
ymin = row,
ymax = row + .5,
x = start + (end - start)/2,
y = row + .25,
label = role,
fill = as.factor(row))) +
coord_cartesian(xlim = c(as.Date("2007-09-01"), as.Date("2019-01-01")),
ylim = c(0,3.3)) +
theme(axis.text.y = element_blank(),
axis.title = element_blank(),
axis.text = element_text(size = 17),
legend.position = "none") +
geom_vline(aes(xintercept = as.Date('2018-11-29')), color = hues$tapestry_label) +
annotate("text", x = as.Date('2018-11-29'),
y = 3.1,
label = "Tapestry",
color = hues$tapestry_label,
hjust = 1.1,
size = 7) +
scale_x_date(date_breaks = "2 year", date_labels = "%b %Y")
plan <- intervals %>% filter(row == 2)
reality <- intervals %>% filter(row == 1)
step2 <- step1 +
geom_rect(
data = filter(plan, role == "PhD Student"),
fill = hues$plan, color = hues$tapestry_label,
aes(
xmin = start,
xmax = end,
ymin = row,
ymax = row + .5)
) +
geom_text(data = filter(plan, role == "PhD Student"),
aes(x = start + (end - start)/2,
y = row + .25,
label = role),
size = 4.7) +
annotate("text", x = as.Date('2009-01-01'),
y = 3.1,
label = "Plan",
color = hues$plan,
hjust = 0,
size = 8)
step3 <- step2 +
geom_rect(
data = filter(plan, role == "Linguistics Professor"),
fill = hues$plan, color = hues$tapestry_label,
aes(
xmin = start,
xmax = end,
ymin = row,
ymax = row + .5)
) +
geom_text(data = filter(plan, role == "Linguistics Professor"), aes(x = start + (end - start)/2,
y = row + .25,
label = role),
size = 4.7)
reality_step <- filter(reality, role == "PhD Student")
step4 <- step3 +
geom_rect(
data = reality_step,
fill = hues$reality,
color = hues$tapestry_label,
aes(
xmin = start,
xmax = end,
ymin = row,
ymax = row + .5)
) +
geom_text(data = reality_step, aes(x = start + (end - start)/2,
y = row + .25,
label = role),
size = 4.7) +
annotate("text", x = as.Date('2009-01-01'),
y = 0.5,
label = "Reality",
color = hues$tapestry_label,
hjust = 0,
size = 8)
step5 <- step4 +
geom_rect(
data = reality,
fill = hues$reality,
color = hues$tapestry_label,
aes(
xmin = start,
xmax = end,
ymin = row,
ymax = row + .5)
) +
geom_text(data = reality, aes(x = start + (end - start)/2,
y = row + .25,
label = role),
size = 4.7)