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

news/2024/5/17 19:03:39

绘制成如下的散点图:

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

 

具体代码如下:

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 到 12scale_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 每人,即每个人的国内生产总值,通常以美元为单位。
如下图所示:

 


http://www.mrgr.cn/p/40710247

相关文章

2024-04-18 tsconfig.json 常用的配置项作用

TypeScript 编译器的配置文件,用于指定编译 TypeScript 代码时的编译选项和编译目标等信息。 通过修改该文件,可以定制 TypeScript 编译器的行为,例如指定编译目标、启用或禁用特定的语言特性、设置代码检查规则等。以下是一些常用的配置项及其作用: compilerOptions:编译…

【原创教程】EPLAN电气图纸设计规范

EPLAN电气图纸中的通用说明,说白了就是电气图纸的图纸概述、制图规范(这里的规范根据每个公司及客户的要求不同进行更改)。下面就以我们公司的规范要求,以实际的项目案例来对照讲述一下,通用说明的制作。 1.首先新建页…

实验6循环结构程序设计(for语句的应用)

实验6循环结构程序设计(for语句的应用) 一、实验目的 1.熟练掌握三种循环语句并能正确运用; 2.能够用循环实现一些常用算法,如穷举法,迭代法,递推法等; 3.进一步学习程序调试; 4.了解中国算法,百钱买百鸡。 二、实验硬、软件环境 Windows计算机、Devc6.0 三、实验内容…

Perforce (P4)版本控制使用指南

转载自:https://blog.csdn.net/zyhse/article/details/119083666以下为P4常规和一些必要操作如何达到同步?本质就是需要告诉P4你干了什么,然后P4再别人的机器上模拟你所做的操作操作的宗旨如果想让别人知道你的操作,就需要去主动通知✘31、登录账号密码相关信息会在入职手册…

模拟电路学习笔记——半导体基础知识

1.纯净的具有晶体结构的半导体称为本征半导体 2.导体导电只有一种载流子,即自由电子导电本征半导体含两种载流子:自由电子和空穴载流子:运载电荷的粒子 3.杂质半导体*本征半导体中掺入少量合适的杂质元素,便可得到杂质半导体3.1 N型半导体:纯净的硅晶体中掺入五价元素(如磷…

llama-factory SFT系列教程 (二),大模型在自定义数据集 lora 训练与部署

文章目录 简介支持的模型列表2. 添加自定义数据集3. lora 微调4. 大模型 lora 权重,部署问题 参考资料 简介 文章列表: llama-factory SFT系列教程 (一),大模型 API 部署与使用llama-factory SFT系列教程 (二),大模型在自定义数…

高效生产管理:选择顺通鞋业ERP系统派单的理由

显然,传统的生产管理模式已经难以满足现代企业的需求,因此选择一款适合自身业务特点的生产管理软件成为了企业的当务之急。顺通鞋业ERP系统作为一款功能强大的生产管理软件,凭借其出色的派单功能,正逐渐成为众多企业的首选。通过系统派单,企业可以及时发现并解决生产过程中…

【Python微信机器人】写一个监控采集公众号文章的插件

原文链接: https://mp.weixin.qq.com/s/f8zbM6wMld3koqjaFbCuxw 前言 弄了个视频号下载后,同一个问题每天都会被问,回答的有点烦了。想了想根本原因还是缺少一个交流平台,微信群的话,刚进群的看不到之前的聊天记录。想整个知识星球,发现只能弄个收费的,免费的需要激活码才…

SD卡最终有望在2025年达到4TB

西部数据计划明年推出首款4TB SD卡。在上周四,该存储公司宣布计划下周亲自演示该产品。 西部数据将以其 SanDisk 品牌推出遵循 SD 协会安全数字超容量 (SDUC) 标准的 SD 卡,并将其推向“复杂的媒体和娱乐工作流程”,例如使用相机的高帧率高分…

Redmi Turbo 3新品发布,天星金融(原小米金融)优惠加持护航新机体验

Redmi新十年使命不变,挑战不断升级。Redmi Turbo 3,作为Turbo系列的开篇之作,将自身定位为新生代性能旗舰,决心重塑中端性能新格局。据悉,Redmi Turbo 3于4月10日已正式发布。预售期间更是连续数日,蝉联小米…

Linux编辑器-vim的使用

vim的基本概念 vim的三种模式(其实有好多模式,目前掌握这3种即可),分别是命令模式(command mode)、插 入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下&#…

深度学习——常用激活函数解析与对比

1、 简介 在神经网络中,激活函数扮演着至关重要的角色。它们的主要目的是引入非线性因素,使得网络能够学习和表示更加复杂的函数映射。以下是激活函数应具备的特点,以及这些特点为何重要的详细解释: 引入非线性有助于优化网络&am…

【Docker】Docker部署Redis

✨Docker 本文介绍Docker Desktop以及docker命令行的简单使用 Docker Desktop安装使用请查阅官方文档 Get Docker | Docker Documentation在Windows上安装Dockers Desktop可参考 【Docker】Docker Desktop for Windows(WSL 2)安装 - 双份浓缩馥芮白 - 博客园 (cnblogs.com)似…

LibreOJ-3038 「JOISC 2019 Day3」穿越时空 Bitaro 线段树 题解

精品带图题解审题一条链每条边有通行时间上下界限制通过一条边需要 \(1\) 单位时间站在当前节点时间减少 \(1\) 耗费 \(1\) 单位代价\(q\) 次询问要么更改一条边的通信时间上下界要么询问在 \(b\) 时刻在城市 \(a\),\(d\) 时刻到达城市 \(c\) 的最小代价思想 做题准备 1 我们尝…

Canvas使用详细教学:从基础绘图到进阶动画再到实战(海报生成、Flappy Bird 小游戏等),掌握绘图与动画的秘诀

一、Canvas基础 1. Canvas简介 Canvas是HTML5引入的一种基于矢量图形的绘图技术,它是一个嵌入HTML文档中的矩形区域,允许开发者使用JavaScript直接操作其内容进行图形绘制。Canvas元素不包含任何内在的绘图能力,而是提供了一个空白的画布&a…

24卫生高级职称报名时间汇总⏰报名全流程

⏰卫生高级职称(网上报名)时间汇总 ✔️陕西:4月23日-5月24日 ✔️上海:4月23日-5月24日 ✔️重庆:4月23日—5月24日 ✔️黑龙江:4月23日-5月24日 ✔️浙江:4月23日-5月24日 ✔️云南&#xff1…

# Linux From Scratch 12.1 安装笔记

目录目录 安装指南 相关链接 准备工作准备宿主机 准备硬盘 下载软件 添加LFS用户 配置环境开始构建构建过程概述 构建 LFS 交叉工具链和临时工具 进入Chroot并构建其他工具构建LFS系统安装软件 系统配置 安装内核 安装引导安装指南 版本 12.1-systemd-中文翻译版 发布于 2024 年…

通过本机电脑远程访问路由器loopback的ip

实验拓扑图 本机电脑增加路由信息 正常设置telnet用户,然后通过本地电脑telnet 软件ensp中的设备,尝试是否可以正常访问即可 测试通过本地电脑可以正常访问ensp里面设备的loopback的ip地址了 最重要的一点是本机需要增加一条路由route add ip mask 下…

Gitee和Git学习笔记

Gitee和Git指令 Gitee提交代码方法1 先将仓库clone到本地,修改后再push到 Gitee 的仓库方法2 本地初始化一个仓库,设置远程仓库地址后再做push 切换分支下载代码通过git clone克隆仓库通过下载 ZIP 的方式下载代码 Git提交指令 解决本地库同时关联GitHub…

在线听歌

一、对比分析墨刀、Axure、Mockplus等原型设计工具的各自的适用领域及优缺点(至少3条)。 墨刀、Axure和Mockplus都是常用的原型设计工具,它们各有特点,适用于不同的场景和需求。以下是它们的适用领域和优缺点的对比分析: 1.墨刀(MockingBot): 适用领域:墨刀适用于快速…