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

相关文章
|
4月前
|
数据可视化
R语言多图合成:优雅地在一个画布上展示多个图形
【8月更文挑战第30天】R语言提供了多种方法来实现多图合成,从基础的`par()`函数到高级的`gridExtra`、`ggplot2`和`cowplot`包,每种方法都有其独特的优势和应用场景。通过掌握这些技术,你可以根据实际需求灵活地组合图形,从而更高效地展示和解读数据。希望本文能为你提供一些有益的参考和启示。
|
6月前
|
人工智能 自然语言处理 机器人
字节打造大模型TTS:不仅能高保真合成,而且支持调整编辑
【6月更文挑战第26天】字节跳动的Seed-TTS是先进的文本转语音系统,生成与人类语音难辨别的声音,并允许编辑。模型通过语音、文本编码器、解码器和声码器实现高保真、可控及多样化的语音生成。应用于智能客服、有声读物、导航,提升用户体验。虽在多模态任务、长文本生成、实时应用及隐私问题上面临挑战[[arxiv.org/pdf/2406.02430](https://arxiv.org/pdf/2406.02430)]。
135 7
|
5月前
|
语音技术
word文档生成视频,自动配音、背景音乐、自动字幕,另类创作工具
这是一个Markdown格式的摘要: --- 这款工具独特之处在于它允许用户通过在Word文档中添加文字和图片来创作视频,包括配音、字幕和背景音乐。软件界面虽显复杂,但生成视频只需四步:选择Word文档、添加音乐、设置保存路径、点击开始生成。最新版1.15b改进了字幕自动换行功能,支持手动调整,修复了网络错误、文件路径问题和图片缩放等错误。软件提供永久免费使用,支持离线生成(需自建TTS),并鼓励用户自定义TTS和特效插件。下载链接可在官方页面找到。 --- 请注意,实际字符数可能会根据Markdown格式的要求略有变动,但主要内容已经压缩在这个范围内。
|
机器人 语音技术
神器 | 文本转语音,直接可以合成多人多风格音频了!
为了适应更多的音频使用场景和需求,近期我们将文本转语音服务进行了升级,全新的功能将成为你配音工具的不二之选。
467 1
|
7月前
|
开发工具 数据安全/隐私保护 Android开发
视觉智能平台常见问题之图片解析出的水印图判断是自己添加的水印图如何解决
视觉智能平台是利用机器学习和图像处理技术,提供图像识别、视频分析等智能视觉服务的平台;本合集针对该平台在使用中遇到的常见问题进行了收集和解答,以帮助开发者和企业用户在整合和部署视觉智能解决方案时,能够更快地定位问题并找到有效的解决策略。
105 1
|
存储 人工智能 前端开发
前端合成海报并保存到本地
前端合成海报并保存到本地
93 0
|
Web App开发 移动开发 前端开发
移动端图片操作(二)——预览、旋转、合成
在上一节中已经提到了预览,预览可以通过data: URL格式或URL对象。
移动端图片操作(二)——预览、旋转、合成
|
机器学习/深度学习 数据采集 PyTorch
图片风格自动分析模型
图片风格自动分析模型
258 0
|
计算机视觉 Python
导入照片进行降噪处理
导入照片进行降噪处理
51 0