R语言动态可视化:制作历史全球平均温度的累积动态折线图动画gif视频图

在某些情况下,你可能希望通过在每帧中添加数据并保留先前添加的数据来进行动画处理。

现在,我们将通过制作点线图的动画来探索。

以下是制作图表静态版本的代码:


热门视频

机器学习精准销售时间序列预测课程

以问题导向的方式使用R语言进行销售时间序列预测。从数据获取和清理开始,有目的的进行探索性分析建模与可视化。让数据从生涩的资料,摇身成为有温度的故事。

探索课程

结果应该是:

该文件warming.csv包含字段yearvalue,后者是全球年平均气温,相比于1900-2000的平均水平。

因为这是一个点-线图,它包括geom_linegeom_point层。我们可以将轮廓设置color为黑色,然后aes根据温度使用映射将其填充为颜色value


该代码用于scale_fill_distiller使用ColorBrewer调色板,该调色板从冷蓝色,中性黄色到暖红色,并将它们应用于从-1到+1的一系列值。

同样,我们可以设置数据动画:

代码的工作方式

  • transition_reveal。当along时间变量的每个值添加到图表中时,这将保留先前显示的数据。id通过使其等于所讨论的类别变量,可用于为多个类别创建单独的行;否则使用id = 1

transition_reveal其默认是显示线条,仅绘制当前帧的点:

要创建点的累积动画,使用如下代码:

  • shadow_mark 保留先前帧中的数据。​​​​​​​

使用for循环绘制并保存每年的图表

要制作点和线的累积动画,我们需要编写一个循环为每帧创建一个单独的图像。

for循环:

输出:

代码的第一行创建一个整数列表,其范围为1880年至2017年。

这部分代码将遍历列表中的每个条目:for (y in years)

该代码使用相同的原理来绘制并保存每年的图表:

该代码如何工作

对于每一年,y该代码首先都会使一个称为R的R对象。

然后,它创建一个名为的R对象chart,这是从该数据绘制的静态ggplot2图表。

然后,使用该ggsave函数以定义的尺寸和分辨率保存该图表,从而在循环上进行进度更新。

ggsave代码利用了R函数paste0

将帧合并为GIF和视频

首先使用制作GIF:

这段代码创建了一个名为的GIF warming2.gif。现在制作视频:

image2根据图像序列创建视频。

制作动画,在模拟人类对全球平均气温的影响与自然影响之间进行切换

循环动画还可以用于在不同状态或数据的筛选视图之间切换。为了说明这一点,我们将加载NASA数据,该数据显示来自气候模型的模拟,该模拟比较了自然事件(例如,来自太阳的辐射变化和来自火山喷发的烟尘的冷却效应)在自然事件的影响下的全球平均温度将如何变化。对人类的影响,主要是二氧化碳和其他温室气体的排放。

代码的工作方式

  • transition_state。这会在数据的不同过滤状态之间切换,此处由变量定义type
  • ease_aes使用状态过渡动画时,使用可改变过渡速度的选项
  • "{closest_state}"ggtitle函数中使用会在此处显示用于定义状态的变量的适当值type

GIF应该如下所示:


 
QQ在线咨询
售前咨询热线
15121130882
售后咨询热线
0571-63341498