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

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

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


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

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


下面尝试使用 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

◆  

三 gganimate 动态


1. transition_time() 核心函数,添加动态

p + transition_time(year) +
 labs(title = "Year: {frame_time}")

2 按需设置

1)添加小尾巴

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

2)原数据做背景

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

 

参考资料

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

相关文章
|
20天前
|
数据可视化
R语言动态图可视化:如何、创建具有精美动画图
R语言动态图可视化:如何、创建具有精美动画图
|
20天前
|
数据可视化
R语言动态图可视化:如何、创建具有精美动画的图
R语言动态图可视化:如何、创建具有精美动画的图
|
20天前
|
数据可视化
动态图可视化:如何、创建具有精美动画图
动态图可视化:如何、创建具有精美动画图
|
20天前
|
数据可视化
R语言对布丰投针(蒲丰投针)实验进行模拟和动态可视化生成GIF动画
R语言对布丰投针(蒲丰投针)实验进行模拟和动态可视化生成GIF动画
|
9月前
|
人工智能 JSON API
|
机器学习/深度学习 算法 PyTorch
Python实现替换照片人物背景,精细到头发丝(附上代码) | 机器学习(1)
Python实现替换照片人物背景,精细到头发丝(附上代码) | 机器学习
Python实现替换照片人物背景,精细到头发丝(附上代码) | 机器学习(1)
|
机器学习/深度学习 数据采集 编解码
人脸表情识别系统介绍——上篇(python实现,含UI界面及完整代码)
人脸表情识别系统介绍——上篇(python实现,含UI界面及完整代码)
411 0
|
人工智能 JSON 算法
分割抠图功能讲解及演示 | 学习笔记
快速学习分割抠图功能讲解及演示
424 0
分割抠图功能讲解及演示 | 学习笔记
|
JSON 人工智能 算法
第二节课——【分割抠图功能讲解及演示】|学习笔记
快速学习第二节课——【分割抠图功能讲解及演示】
266 0
|
数据挖掘 Python
Python数据分析与展示:图像的手绘效果-5
Python数据分析与展示:图像的手绘效果-5
145 0
Python数据分析与展示:图像的手绘效果-5

热门文章

最新文章