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

目录
打赏
0
0
0
0
21
分享
相关文章
|
10月前
在智能媒体服务中,如果你想要让两个字幕重叠,你可以尝试以下方法
在智能媒体服务中,如果你想要让两个字幕重叠,你可以尝试以下方法【1月更文挑战第18天】【1月更文挑战第90篇】
121 6
这款AI已经这么牛了!输入画面关键词就能找到相关画面视频片段素材
大家是否有过这样的经历?看到一个很棒的视频,却只想要其中几秒钟的片段,却要花费很长时间来搜索想要的片段。
2528 0
这款AI已经这么牛了!输入画面关键词就能找到相关画面视频片段素材
EDTalk:只需上传图片、音频和视频,就能使图片中的人物说话,情感表情与音频情绪高度统一
EDTalk 是上海交通大学与网易联合研发的高效解耦情感说话头像合成模型,能够独立控制嘴型、头部姿态和情感表情,适用于多种应用场景。
139 26
EDTalk:只需上传图片、音频和视频,就能使图片中的人物说话,情感表情与音频情绪高度统一
R语言多图合成:优雅地在一个画布上展示多个图形
【8月更文挑战第30天】R语言提供了多种方法来实现多图合成,从基础的`par()`函数到高级的`gridExtra`、`ggplot2`和`cowplot`包,每种方法都有其独特的优势和应用场景。通过掌握这些技术,你可以根据实际需求灵活地组合图形,从而更高效地展示和解读数据。希望本文能为你提供一些有益的参考和启示。
|
7月前
|
知识卡片生成器:汇文明朝体让文字出彩
知识卡片生成器:汇文明朝体让文字出彩
236 1
word文档生成视频,自动配音、背景音乐、自动字幕,另类创作工具
这是一个Markdown格式的摘要: --- 这款工具独特之处在于它允许用户通过在Word文档中添加文字和图片来创作视频,包括配音、字幕和背景音乐。软件界面虽显复杂,但生成视频只需四步:选择Word文档、添加音乐、设置保存路径、点击开始生成。最新版1.15b改进了字幕自动换行功能,支持手动调整,修复了网络错误、文件路径问题和图片缩放等错误。软件提供永久免费使用,支持离线生成(需自建TTS),并鼓励用户自定义TTS和特效插件。下载链接可在官方页面找到。 --- 请注意,实际字符数可能会根据Markdown格式的要求略有变动,但主要内容已经压缩在这个范围内。
122 1
|
8月前
测试语雀图片嵌入表格(不用通过)
测试语雀图片嵌入表格(不用通过)
移动端图片操作(二)——预览、旋转、合成
在上一节中已经提到了预览,预览可以通过data: URL格式或URL对象。
移动端图片操作(二)——预览、旋转、合成
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等