专栏名称: EasyCharts
EasyCharts,易图表,我们将定期推送各种数据可视化与分析教程,包括Excel(Power BI)、Origin、Sigmaplot、GraphPad、R、Python、Matlab、Tableau、D3.js等。
目录
相关文章推荐
前端大全  ·  真的建议所有前端立即拿下软考(红利期) ·  3 天前  
前端大全  ·  Create React ... ·  5 天前  
前端大全  ·  React+AI 技术栈(2025 版) ·  3 天前  
51好读  ›  专栏  ›  EasyCharts

高级技能:基于R语音的时间序列数据动态展示

EasyCharts  · 公众号  · 前端  · 2019-12-23 10:46

正文

今天给大家聊一下如何根据时间变化进行动态数据可视化,所谓动态数据数据可视化,实际上就是根据某个变量分别进行交替可视化,某一个时间点只显示一类的数据的图形,那我们今天所说的主题就是-让图动起来。首先看一下效果图,所有的动图都是会保存成gif文件的。


下面进入正题,基于R语言操作这里使用的是R包gganimate:


安装并加载包,关于包的安装,已经讲过多次,直接上代码:


加载工具包和示例数据,这里我们采用 gapminder中的数据集,数据集 gapminder 如下,该数据集是一共 6列数据:


采用ggplot画初始图形,横轴为gdpPercap一列,纵轴为lifeExp,采用scale_color_viridis_d进行了颜色搭配,scale_size设置点的大小范围:

结果如下:


图形动起来,采用transition_time函数,代表的就是按照一个变量进行变化显示图形,用于状态之间的相互过渡,注意transition_time后面的参数一般为数值型:

保存成gif文件

结果如下:


分类动图显示,本例中可以按照不同的洲,分别进行动态展示:

结果如下:


显示先前的帧并逐渐衰减变化过程。通过shadow_wake函数可以设定动态图逐步变化的进程:

结果如下:


随时间逐步变化。我们还可以通过给定的时间维度逐渐显示数据,比如我们采用内置的城市空气质量数据,首先画一个折线图,如下。


接着我们想让他们随着月份时间动态画出折线,该如何完成呢?

通过借助transition_reveal函数,里面填充的Day参数即是上图绘制的时的x轴变量,表示将x轴数据慢慢展示

结果如下:

以点状形式展示牵引数据点变化,需要加一个geom_point函数即可,如下:

结果如下:

数据点还可以被保留,通过给geom_point函数增加一个参数

结果如下:







请到「今天看啥」查看全文