gganimate|创建可视化动图,让你的图表会说话

13 篇文章 4 订阅
6 篇文章 1 订阅

本文首发于“生信补给站”公众号,https://mp.weixin.qq.com/s/kKQ2670FBiDqVCMuLBL9NQ

更多关于R语言,ggplot2绘图,生信分析的内容,敬请关注小号。

介绍一个主要用于绘制动画的ggplot2的扩展包—gganimate包。

Hans Rosling的关于“New Insights on Poverty”的TED演讲绝对是对我影响最大的几个TED之一,原来数据可以这样展示,可视化可以这样炫,故事可以这样讲…

img

下面尝试使用 gganimate 包和 gapminder 数据集,实现类似可视化过程。

一 加载R包,数据

#R包安装
install.packages("devtools")
library(devtools)    
install_github("thomasp85/gganimate")
install.packages("gapminder")
#加载
library(gganimate)
library(gapminder)
#查看数据
head(gapminder)
# A tibble: 6 x 6
 country     continent  year lifeExp      pop gdpPercap
 <fct>       <fct>     <int>   <dbl>    <int>     <dbl>
1 Afghanistan Asia       1952    28.8  8425333      779.
2 Afghanistan Asia       1957    30.3  9240934      821.
3 Afghanistan Asia       1962    32.0 10267083      853.
4 Afghanistan Asia       1967    34.0 11537966      836.
5 Afghanistan Asia       1972    36.1 13079460      740.
6 Afghanistan Asia       1977    38.4 14880372      786.

数据集包括全球主要国家在1952-2007年的人均GDP增长、预期寿命以及人口增长的数据 。

二 ggplot2绘制

使用ggplot2绘制

theme_set(theme_bw())
p <- ggplot(gapminder,
 aes(x = gdpPercap, y=lifeExp, size = pop, colour = country)) +
 geom_point(show.legend = FALSE, alpha = 0.7) +
 scale_color_viridis_d() +
 scale_size(range = c(2, 12)) +
 scale_x_log10() +
 labs(x = "GDP per capita", y = "Life expectancy")
p

img

三 gganimate 动态

1. transition_time() 核心函数,添加动态
p + transition_time(year) + labs(title = "Year: {frame_time}")

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NYL7j5gP-1575597635828)(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg==)]

2 按需设置

1)添加小尾巴

p + transition_time(year) + 
	labs(title = "Year: {frame_time}") +
	shadow_wake(wake_length = 0.1, alpha = FALSE)

img

2)原数据做背景

p + transition_time(year) + 
	labs(title = "Year: {frame_time}") + 
	shadow_mark(alpha = 0.3, size = 0.5)

img

参考资料

https://www.datanovia.com/en/blog/gganimate-how-to-create-plots-with-beautiful-animation-in-r/

TED:https://www.ted.com/talks/hans_rosling_the_best_stats_you_ve_ever_seen?language=zh-TW

◆ ◆ ◆ ◆ ◆

精心整理(含图版)|你要的全拿走!有备无患 (R统计,ggplot2绘图,生信图形可视化汇总)

【觉得不错,右下角点个“在看”,期待您的转发,谢谢!】

img

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值