查看原文
其他

R语言画dumbbell chart

阿越 医学和生信笔记 2023-02-25

在学习ggplot2相关的主题时发现了一个神奇的扩展包:bbplot,这个R包是英国广播公司(BBC)为了进行数据清洗和可视化创建的R包,里面含有非常多好看的图形值得学习,今天学习一个dumbbell chart。

安装bbplot

这个包不在CRAN上,因此需要从Github安装:

# install.packages('devtools')
devtools::install_github('bbc/bbplot')

假如我们想要展示,人类寿命从1967-2007,平均寿命更长了,可以使用折线图或者柱状图,下面我们使用BBC样式的bbplot包展现一种新的图形样式dumbbell chart,主要是为了学习bbplot的使用。

library(ggalt)
library(dplyr)
library(gapminder)
library(bbplot)

# 数据准备
dumbbell_df <- gapminder %>%
filter(year == 1967 | year == 2007) %>%
select(country, year, lifeExp) %>%
spread(year, lifeExp) %>%
mutate(gap = `2007` - `1967`) %>%
arrange(desc(gap)) %>%
head(10)

# 画图
ggplot(dumbbell_df, aes(x = `1967`, xend = `2007`, y = reorder(country, gap), group = country)) +
geom_dumbbell(colour = "#dddddd",
size = 3,
colour_x = "#FAAB18",
colour_xend = "#1380A1") +
bbc_style() + # 这个是最主要的函数,使用BBC样式
labs(title="We're living longer",
subtitle="Biggest life expectancy rise, 1967-2007")


画出来的图如下:


这样的一幅图是不是很高大上呢?很适合在年终总结时代替折线图!



欢迎大家关注我的公众号:医学和生信笔记

医学和生信笔记 公众号主要分享:1.医学小知识、肛肠科小知识;2.R语言和Python相关的数据分析、可视化、机器学习等;3.生物信息学学习资料和自己的学习笔记

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存