ggalluvial
让我们加载所需的库:
library(ggplot2)
library(ggalluvial)
library(tidyr)
library(dplyr
然后需要为数据创建标识符,然后再将其转换为整洁的格式。因此,新数据如下:
transitiondata$id <- c("id1","id2","id3")
transitiondata_tidy <- transitiondata %>%
gather(time, state, t1,t2,t3) %>%
mutate(time = as.factor(time), state = as.factor(state))
id time state
1 id1 t1 A
2 id2 t1 B
3 id3 t1 A
4 id1 t2 A
5 id2 t2 C
6 id3 t2 C
7 id1 t3 B
8 id2 t3 A
9 id3 t3 C
和
ggplot2
GG冲积层
ggplot(transitiondata_tidy,
aes(x = time, stratum = state, alluvium = id, fill = state, label = state)) +
geom_stratum() +
geom_text(stat = "stratum", size = 3) +
geom_flow(fill = "darkgrey", color = "black")
我们的过渡(桑基)图已经准备好: