【R语言】动画图:散点图

绘制成如下的散点图:

 如果数据量大,有多个年份,就会生成多张图,例如:

 

具体代码如下:

library(gapminder)#加载 gapminder 包,其中包含了从 1952 年至 2007 年各个国家的 GDP、预期寿命和人口数据
library(gganimate)#加载 gganimate 包,它提供了创建动画的功能
library(ggplot2)

#使用 ggplot() 函数创建了一个基础图形,设置 x 轴为 GDP 每人,y 轴为预期寿命,点的大小(size)和颜色(colour)根据国家来区分
ggplot(gapminder, aes(gdpPercap, lifeExp, size = pop, colour = country)) +
  geom_point(alpha = 0.7, show.legend = FALSE) + #添加了散点图层,设置点的透明度为 0.7,且不显示图例
  scale_colour_manual(values = country_colors) + #设置颜色映射为手动指定的颜色,country_colors 是一个预先定义的颜色向量
  scale_size(range = c(2, 12)) + #设置点的大小范围为 2 到 12
  scale_x_log10() + #将 x 轴的刻度设置为对数尺度
  facet_wrap(~continent) + #根据大洲进行面板分割
  labs(title = 'Year: {frame_time}', x = 'GDP per capita', y = 'life expectancy') + #设置图形的标题、x 轴标签和 y 轴标签,其中 {frame_time} 会被动画帧的时间替换
  transition_time(year) + #指定以年份(year)为时间变量进行过渡,使得动画按照时间的变化进行播放
  ease_aes('linear') -> anim #设置动画的渐变效果为线性,将动画保存到名为 anim 的对象中

为了生成动画的形式,还需执行以下代码:

#生成并显示动画,使用 gifski_renderer() 渲染器,并设置帧率为 10
animate(anim, renderer = gifski_renderer(), fps = 10) 

实现效果,如下: 

gapminder 是一个在 R 中广泛使用的数据集,记录了从 1952 年到 2007 年间不同国家的 GDP、预期寿命和人口数据。这个数据集最初由 Hans Rosling 等人在 Gapminder Foundation 的工作中收集和整理,旨在帮助人们更好地理解全球发展趋势。

数据集中包含了以下变量:

  1. country: 国家名称。
  2. year: 年份,范围从 1952 到 2007 年。
  3. pop: 人口数量,以百万为单位。
  4. continent: 大洲名称,包括非洲、亚洲、欧洲、美洲和大洋洲。
  5. lifeExp: 预期寿命,以年为单位。
  6. gdpPercap: GDP 每人,即每个人的国内生产总值,通常以美元为单位。
如下图所示:

 

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-21 18:12:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-21 18:12:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-21 18:12:02       82 阅读
  4. Python语言-面向对象

    2024-04-21 18:12:02       91 阅读

热门阅读

  1. Python的pytest框架(5)--测试标记(Markers)

    2024-04-21 18:12:02       36 阅读
  2. vue3自定义多个v-model以及自定义修饰符

    2024-04-21 18:12:02       38 阅读
  3. C语言程序每日一练(7)

    2024-04-21 18:12:02       34 阅读
  4. es6编程风格

    2024-04-21 18:12:02       32 阅读
  5. 设计模式|访问者模式(Visitor Pattern)

    2024-04-21 18:12:02       42 阅读
  6. hive 不同维度聚合 grouping sets 使用详情

    2024-04-21 18:12:02       33 阅读
  7. 历届试题 剪格子

    2024-04-21 18:12:02       32 阅读
  8. HTTP简述

    2024-04-21 18:12:02       34 阅读
  9. 模块与包及json模块学习

    2024-04-21 18:12:02       41 阅读
  10. 关于前端的那些知识点

    2024-04-21 18:12:02       35 阅读
  11. 打造一套属于自己的php开发框架(一)封装Db类

    2024-04-21 18:12:02       29 阅读
  12. Linux 日志常用命令

    2024-04-21 18:12:02       156 阅读