本节使用TidyTuesday 2021 第15周的项目数据集来分析导致巴西森林流失的主要原因,后台回复关键词2021-15获取数据
加载R包
library(tidyverse)
library(extrafont)
library(ggstream)
library(scales)
library(ggtext)
数据清洗
brazil_loss <- read.delim("brazil_loss.xls",sep="\t")
brazil_loss_long <-
brazil_loss %>%
pivot_longer(4:14, names_to = "types", values_to = "loss")
labels <- tibble(year = 2013.1,
loss = c(1000000, 590000, 340000, 200000, 70000),
types = c("Pasture", "Small Scale Clearing",
"Commercial Crops", "Fire", "Selective Logging"),
colores = c("#0091AD", "#2E6F95",
"#5C4D7D", "#892B64", "#B7094C"))
brazil_loss_long <- brazil_loss_long %>%
filter(types %in% c("pasture",
"small_scale_clearing", "commercial_crops",
"fire", "selective_logging")) %>%
mutate(types = factor(types,
levels = c("pasture", "small_scale_clearing",
"commercial_crops", "fire", "selective_logging")))
数据可视化
ggplot() +
geom_stream(brazil_loss_long,
mapping = aes(year,loss,fill = types),
extra_span = .1,type = "ridge",
show.legend = FALSE) +
scale_y_continuous(labels = label_number_si()) +
geom_text(labels,mapping = aes(year,loss,
label = types,color = colores),
hjust = 0,vjust = 1,
family = "IBM Plex Sans",size=1.5) +
scale_x_continuous(breaks = seq(2001,2015, 3),
limits = c(2001, 2015)) +
scale_fill_manual(values = c("#0091AD",
"#2E6F95", "#5C4D7D", "#892B64", "#B7094C")) +
scale_color_identity() +
labs(x = NULL, y = NULL) +
coord_cartesian(expand = FALSE, clip = "off") +
theme(panel.background = element_rect("#F5F5F5"),
plot.background = element_rect("#F5F5F5"),
panel.grid.minor = element_blank(),
panel.grid.major.x = element_blank(),
axis.text.x = element_text(size=5),
axis.text.y=element_text(size=5))
网友评论