第 12 章 河流图
12.1 基本河流图
library(ggstream)
#plot
ggplot(blockbusters, aes(x = year, y = box_office, fill = genre)) +
geom_stream(type = "mirror")
ggplot(blockbusters, aes(x = year, y = box_office, fill = genre)) +
geom_stream(type = "proportional")
12.1.1 自定义样式
colors <- c("#6181BD4E","#F348004E","#64A10E4E","#9300264E","#464E044E")
ggplot(blockbusters, aes(x = year, y = box_office, fill = genre)) +
geom_stream(type = "mirror") +
scale_fill_manual(values = colors) + # 配色
geom_stream(color = "black", lwd = 0.25) + # 边界
geom_stream_label(aes(label = genre))+ # label
theme_minimal()
12.2 分组排序(sorting)
library(tidyverse)
set.seed(123)
df <- map_dfr(1:10, ~{
x <- 1:sample(1:70, 1)
tibble(x = x + sample(1:150, 1)) %>%
mutate(y = sample(1:10, length(x), replace = T),
k = .x %>% as.character())
})
p <- df %>%
ggplot(aes(x, y, fill = k)) +
theme_void() +
theme(legend.position = "none")
p + geom_stream(color = "black") +
ggtitle("None (Default)")
12.3 估计范围 (extra range used in estimation)
base <- ggplot(blockbusters, aes(year, box_office, fill = genre)) +
theme(legend.position = "none") +
xlim(1970, 2028)
base + geom_stream() + ggtitle("Default")
base + geom_stream(extra_span = 0.001) + geom_stream(extra_span = 0.001, true_range = "none", alpha = .3) + ggtitle("extra_span = 0.001")
base + geom_stream(extra_span = .1) + geom_stream(extra_span = .1, true_range = "none", alpha = .3) + ggtitle("extra_span = .1")