欢迎关注R语言数据分析指南
❝上一篇文章介绍了如何用gt包来针对GBD数据绘制热图,其实除了这种方法外还有一类简便的方法一样可以实现同样的效果,此次就分享一下另一种方法,个人观点仅供参考。有需要学习R语言绘图的朋友可关注文末介绍购买小编的R绘图文档。购买前请咨询,零基础不要买。
结果图
加载R包
library(tidyverse)
library(patchwork)
library(RColorBrewer)
数据清洗
df <- read_tsv("GBD_ASDR_Male.xls") %>%
filter(location=="Global",
age %in% c("<5 years","5-9 years","10-14 years","15-19 years",
"20-24 years",
"25-29 years","30-34 years","35-39 years","40-44 years",
"45-49 years","50-54 years","55-59 years","60-64 years",
"65-69 years","70-74 years","75-79 years","80-84 years",
"85-89 years","90-94 years","95+ years")) %>%
mutate(val=round(val,digits = 2),
age = str_remove(age, " years")) %>%
select(year,val,age)
year_1990 <- df %>% filter(year == 1990) %>% select(age, val) %>%
mutate(x="1990",age=factor(age,levels = rev(age)))
year_2019 <- df %>% filter(year == 2019) %>% select(val,age) %>%
mutate(x="2019",age=factor(age,levels = rev(age)))
左侧热图绘制
p1 <- ggplot(data=year_1990,aes(x=x,y=age,fill=val)) +
geom_tile(aes(x=x,y=age,fill=val),color="grey30",linewidth=0.3) +
geom_text(aes(label=val),vjust=0.5) +
scale_fill_gradientn(
colours = rev(colorRampPalette(brewer.pal(11, "RdBu")[3:9])(200))) +
scale_x_discrete(position = "top",expand = c(0,0)) +
scale_y_discrete(position = "left",expand = c(0,0)) +
theme_void() +
theme(axis.text.x=element_text(color="black",size=10),
axis.text.y=element_text(color="black",size=10,
margin=margin(r=0.2,unit="cm")),
legend.position = "none")
右侧热图绘制
p2 <- ggplot(data=year_2019,aes(x=x,y=age,fill=val)) +
geom_tile(aes(x=x,y=age,fill=val),color="grey30",linewidth=0.3) +
geom_text(aes(label=val),vjust=0.5) +
scale_fill_gradientn(
colours = rev(colorRampPalette(brewer.pal(11, "RdBu")[3:9])(200))) +
scale_x_discrete(position = "top",expand = c(0,0)) +
scale_y_discrete(position = "right",expand = c(0,0)) +
theme_void() +
theme(axis.text.x=element_text(color="black",size=10),
axis.text.y=element_text(color="black",size=10,
margin=margin(l=0.2,unit="cm")),
legend.position = "none")
中间趋势线
p3 <- df %>%
mutate(age=factor(age,levels = unique(age))) %>%
ggplot(aes(year,val,group=age)) +
geom_line(linewidth=0.4,color="grey40") +
facet_grid(age~.,scale="free_y") +
scale_x_continuous(breaks = c(1990,2000,2010,2019),
labels=c(1990,2000,2010,2019)) +
labs(title="Global Mortality Rates by Age Group (1990-2019)") +
theme_void() +
theme(strip.background = element_blank(),
strip.text = element_blank(),
plot.title = element_text(vjust=0,hjust=0.5,color="black",size=9))
拼图
(p1|p3|p2)+ plot_layout(widths = c(0.5,3,0.5))
关注下方公众号下回更新不迷路
购买介绍
❝本节介绍到此结束,需要获取下方所示R绘图案例全部代码的读者,欢迎到淘宝店铺:R语言数据分析指南,购买小编的R语言可视化文档,2025年购买将获取2025年更新的绘图内容,同时将赠送2024年的绘图文档内容,其余内容无。
更新的绘图内容包含数据+代码+注释文档+文档清单,小编只分享案例文档,不额外回答问题,无答疑服务,更新截止2025年12月31日结束,后续不在进行任何更新,零基础基础一般不推荐买。
在线目录大纲
淘宝店铺
2025年更新案例图展示






















