R语言使用gganimate创建可视化动图

目录
  • 前言
  • 加载R包,数据
  • ggplot2绘制
  • gganimate 动态
  • 参考资料

前言

介绍一个主要用于绘制动画的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/

https://www.ted.com/talks/hans_rosling_the_best_stats_you_ve_ever_seen

以上就是R语言使用gganimate创建可视化动图的详细内容,更多关于gganimate可视化动图的资料请关注我们其它相关文章!

(0)

相关推荐

  • R语言基本画图函数与多图多线的用法

    常用统计作图函数汇总 plot() hist() 直方图 stem() 茎叶图 boxplot() 箱线图(盒形图) coplot() 协同图 qqnorm() 正态qq图 qqplot() 两总体qq图 1. 高级低级图形函数的常用选项 高.低级图形函数概述 高级图形函数可以迅速简便地绘制常见类型的图形,但是,某些情况下你可能希望绘制一些有特殊要求的图形.比如,你希望坐标轴按照自己的设计绘制,在已有的图上增加另一组数据,在图中加入一行文本注释,绘出多个曲线代表的数据的标签,等等. 低级图形函数

  • R语言编程学习绘制动态图实现示例

    在讨论级数时,可能需要比对前 n n n项和的变化情况,而随着 n n n的递增,通过动态图来反映这种变化会更加直观,而通过R语言绘制动态图也算是一门不那么初级的技术,所以在此添加一节,补充一下R语言的绘图知识. 绘图需要用到ggplot2,为多张图加上时间轴则需要用到gganimate,为了让这些动态图片被渲染,需要用到av.此外,ggplot2绘图需要输入的数据格式为tibble. install.packages("ggplot2") install.packages("

  • R语言绘制Vonoroi图

    deldir包绘制Voronoi图 #install.packages("deldir") library(deldir) # data set.seed(1) x <- runif(60) y <- runif(60) # Calculate Voronoi Tesselation and tiles tesselation <- deldir(x, y) tiles <- tile.list(tesselation) plot(tiles, pch = 19

  • R语言绘图样式设置操作(符号,线条,颜色,文本属性)

    设置图像样式有两种方法,一种是全局修改,一种只针对一幅图片有效. 全局修改 a<-c(1:10) #全局修改 old_par<-par(no.readonly=TRUE) #记录默认样式到变量old_par中 par(lty=2,pch=17) #设置线型lty=2虚线,pch=17实心三角形,键值对的方式进行设置 #第一幅图,已经和默认样式不一样了 b<-rnorm(10) plot(a,b,type='b') #第二幅图,和第一幅图样式一样 b<-rnorm(10) plot(

  • R语言使用gganimate创建可视化动图

    目录 前言 加载R包,数据 ggplot2绘制 gganimate 动态 参考资料 前言 介绍一个主要用于绘制动画的ggplot2的扩展包---gganimate包. Hans Rosling的关于“New Insights on Poverty”的TED演讲绝对是对我影响最大的几个TED之一,原来数据可以这样展示,,,可视化可以这样炫,,,故事可以这样讲... 下面尝试使用 gganimate 包和 gapminder 数据集,实现类似可视化过程. 加载R包,数据 #R包安装 install.

  • 使用R语言绘制3D数据可视化scatter散点图实现步骤

    目录 Step1. 绘图数据的准备 Step2. 绘图数据的读取 Step3.绘图所需package的调用 Step4.绘图 调整3D点的大小 调整透明度 注意事项 它来了它来了,它顺着网线走来了…哈哈,今天小仙给大家带来的是3D散点图. 强调一下啊,咱们这个教程里第一次出现了3D图,第一次出现了交互式图形(简单粗暴的理解, 用鼠标点击会动的图) 今天主要给大家介绍一下plotly这个R包,顺便分享下3D散点图的画法.plotly是一个在线的数据分析和可视化工具,图表类型丰富.可交互等等一堆优点

  • 使用matplotlib创建Gif动图的实现

    目录 1.Matplotlib 简介 2.绘制动画正弦和余弦波 3.绘制曲面图 4.绘制回归图 1.Matplotlib 简介 数据可视化有助于更有效地讲述有关数据的故事并使其易于呈现.有时很难用静态图表来解释数据的变化,为此,我们将讨论matplotlib提供的名为“Animation”的动画库之一.以下是要涵盖的主题. 最流行的Python二维绘图库是Matplolib.大多数人从Matplotlib开始他们的探索性数据分析之旅.它可以轻松创建绘图.直方图.条形图.散点图等.与Pandas和

  • Python使用matplotlib创建Gif动图

    目录 1.Matplotlib 简介 2.绘制动画正弦和余弦波 3.绘制曲面图 4.绘制回归图 1.Matplotlib 简介 数据可视化有助于更有效地讲述有关数据的故事并使其易于呈现.有时很难用静态图表来解释数据的变化,为此,我们将讨论matplotlib提供的名为“Animation”的动画库之一.以下是要涵盖的主题. 最流行的Python二维绘图库是Matplolib.大多数人从Matplotlib开始他们的探索性数据分析之旅.它可以轻松创建绘图.直方图.条形图.散点图等.与Pandas和

  • R语言学习VennDiagram包绘制韦恩图示例

    目录 引言 一 需要安装和导入的包 二 使用函数及参数 三 知道各个数据集的个数以及重叠(交叉)的个数 2.1 两个已知数据集的韦恩图 2.2 三个已知数据集的韦恩图 四 根据数据集合绘制韦恩图 4.1 四个数据集合 4.2 五个数据集合 引言 本版块会持续分享一些常用的结果展示的图形. 在得到数据之后,我们经常会用到维恩图来展示各个数据集之间的重叠关系.本文简单的介绍R语言中的VennDiagram包绘制数据集的维恩图. 一 需要安装和导入的包 install.packages("VennDi

  • R语言实现各种数据可视化的超详细教程

    目录 1 主成分分析可视化结果 1.1 查看莺尾花数据集(前五行,前四列) 1.2 使用莺尾花数据集进行主成分分析后可视化展示 2 圆环图绘制 3 马赛克图绘制 3.1 构造数据 3.2 ggplot2包的geom_rect()函数绘制马赛克图 3.3 vcd包的mosaic()函数绘制马赛克图 3.4 graphics包的mosaicplot()函数绘制马赛克图 4 棒棒糖图绘制 4.1 查看内置示例数据 4.2 绘制基础棒棒糖图(使用ggplot2) 4.2.1 更改点的大小,形状,颜色和透

  • R语言作图之density plot(密度图)的制作步骤

    上次分享了小提琴曲线(violin plot)的作图方法,今天小仙同学给大家介绍一下如何用R画出漂亮的密度图(density plot). Step1. 绘图数据的准备 首先还是要把你想要绘图的数据调整成R语言可以识别的格式,把excel保存成csv格式. 数据的格式如下图:一列表示一种变量,第一行是列名 Step2. 绘图数据的读取 data<-read.csv("your file path", header = T) #注释:header=T表示数据中的第一行是列名,如果没

  • R语言绘制Bubble Matrix气泡矩阵图

    目录 Step1.绘图数据的准备 Step2.绘图数据的读取 Step3.绘图所需package的安装.调用 Step4.绘图 Step5.美化 又是一个好久不见,朋友们你们最近还好吗!最近小仙同学刚经历了人生中的一个重要的里程碑——延毕.在预料之中.又如期而至的两个字,小仙心里也是很复杂,可终究跟“毕业”二字沾了边,就当它是好事啦! 今天要给大家介绍的是气泡矩阵图,要模仿的图形如下.小仙同学一直有一个困惑:什么样的数据应该画什么类型的图,才能精确地展示数据表达出自己的意思?对于气泡矩阵图,小仙

  • Python绘制惊艳的可视化动图的示例代码

    今天小编给大家介绍一款可视化模块,使用它可以绘制出十分惊艳的动图效果,那么当然第一步我们首先是要安装一下该模块,通过pip命令行来安装: pip install ipyvizzu 牛刀小试 我们首先来简单地使用该模块来绘制一张动图,用Pandas导入数据集,代码如下: import pandas as pd from ipyvizzu import Chart, Data, Config data_frame = pd.read_csv("titanic.csv") 在导入数据集完毕之

  • R语言绘图技巧导出高清图方法

    上一次小仙同学分享了 facet violin plot的画法,最后还卖了个关子,给大家留了个悬念.科研文章的插图通常要求比较高,不仅要精准地展示出数据,选对图表类型,还需要简洁优美(?翻译成人话就是,同样的数据能不能多“卖”几分,就看图够不够高大上啦).小仙同学在画图的时候遇到的一个问题就是,RStudio直接导出的图,怎么这么不清晰?为什么教程里别人的图都那么清晰呢?这时候可能就有同学就会说,这还不简单,直接导出矢量图不就可以了吗? 我们来看下,RStudio可以导出的图片格式有这么几种,小

随机推荐