r语言绘制动态统计图:绘制世界各国的人均GDP,出生时的期望寿命和人口气泡图动画动态gif图

news2024/11/15 9:30:53

 使用的数据

  • nations.csv 来自世界银行指标的数据。
  • warming.csv 有关1880年至2017年全球年平均温度 。
    • year
    • value 全球平均温度,与1900-2000年的平均温度相比。
  • simulations.csv美国国家航空航天局(NASA)对历史温度的模拟数据,估计了自然和人为因素对气候的影响, 包含以下变量:

    • year
    • type 自然还是人为影响因素
    • value 来自模拟的全球平均温度,相对于1990-2000年的平均模拟值。
  • charts 空文件夹,我们将在其中保存要制作动画的各个帧。

配置

启动RStudio,创建一个新的RScript,然后通过选择将工作目录设置为包含下载数据的文件夹Session>Set Working Directory>To Source File Location

安装 

加载我们今天将使用的软件包

# 加载需要的软件包
library(readr)
library(ggplot2)
library(dplyr)

气泡图

 我们制作了以下图表,显示了2016年世界各国的人均GDP,出生时的期望寿命和人口:

这是生成该图表的代码:

# 读取数据
nations <- read_csv("nations.csv")

# 过滤 2016 年的数据 
nations2016 <- nations %>%
  filter(year == 2016)

# 绘制泡泡图
ggplot(nations2016, aes(x = gdp_percap, y = life_expect)) +
  xlab("GDP per capita") +
  ylab("Life expectancy at birth") +
  theme_minimal(base_size = 12, base_family = "Georgia") +
  geom_point(aes(size = population, color = region), alpha = 0.7) +
  scale_size_area(guide = FALSE, max_size = 15) +
  scale_x_continuous(labels = dollar) +
  stat_smooth(formula = y ~ log10(x), se = FALSE, size = 0.5, color = "black", linetype="dotted") +
  scale_color_brewer(name = "", palette = "Set2") +
  theme(legend.position=c(0.8,0.4))

  • scale_size_area确保圆的大小根据人口数据按其面积缩放, 。

  • labels  将X轴标签的格式。

  • stat_smooth的工作方式类似,geom_smooth 允许 使用formula来指定用于拟合数据趋势线的曲线类型,此处为对数曲线。

现在,我们将生成1990年至2016年图表的动画。这是代码:

 现在,Viewer通过运行以下命令将其显示在面板中:

animate(nations_plot)

代码的工作方式

  • transition_time此功能通过来对数据进行动画处理year,仅显示与任何一个时间点相关的数据。除了每年生成一个帧外,它还生成中间帧以提供平滑的动画。
  • "{frame_time}"ggtitle函数内使用会在每个帧上放置一个标题,并带有transition_time函数中变量此处的相应值year
  • ease_aes控制动画的进行方式。 
  • enter_fade ,exit_fade这些功能控制动画中数据点出现或消失的行为。您也可以使用enter_shrinkexit_shrink

另存为GIF和视频

现在,我们可以将动画另存为GIF或视频

您可以使用选项widthheight设置动画的尺寸(以像素为单位)。fps设置GIF的帧速率,以每秒帧数为单位。

要制作视频,您需要代码renderer = ffmpeg_renderer(),这需要在系统上安装FFmpeg。上面的视频代码还将宽高比设置为16:9 。

这是GIF:


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/64755.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NetSuite Plug-In 101

进入了我的学术休假季&#xff0c;开始做一些自己喜欢的题目。今天就来扒一扒一个NetSuite落满灰尘的功能--Plug-In。 大家可能听到过一个叫做Email Approval的应用场景&#xff0c;可以让用户在不登录NetSuite系统的情况下&#xff0c;跟NetSuite产生交互。例如&#xff0c;通…

ArcGIS基础:字段的别名和字段属性域设置

【1】别名设置&#xff1a; 别名设置时需要注意的是在SHP格式里&#xff0c;进行设置仅仅是临时存贮&#xff0c;关闭属性表后&#xff0c;属性的别名就会丢失&#xff0c;需要将其存储到地理数据库里才可以永久包括。 存放在地理数据库后&#xff0c;找到数据&#xff0c;右…

Replugin 插件中MutliDex 分多包 后加载插件报错的问题解决

Caused by: java.lang.ClassNotFoundException: Didn’t find class “com.qihoo360.replugin.Entry” on path: DexPathList[[zip file “/data/app/com.topdraw.replugintest2-1/base.apk”],nativeLibraryDirectories[/data/app/com.topdraw.replugintest2-1/lib/x86, /syst…

图论算法(2)—————拓扑排序

在几天前写了一篇最小生成树的文章 今天再讲解一下图论的另一个算法&#xff1a;拓扑排序 注&#xff1a;今天只讲解kahn算法&#xff0c;各位如果对dfs算法有需求可联系我进行讲解 说到拓扑排序&#xff0c;不得不先了解下拓扑是个什么东东 拓扑&#xff0c;它是一种结构 …

Elasticsearch 进阶

一、核心概念 1.1 索引(Index) 一个索引就是一个拥有几分相似特征的文档的集合。比如说,你可以有一个客户数据的索引,另一个产品目录的索引,还有一个订单数据的索引。一个索引由一个名字来标识(必须全部是小写字母),并且当我们要对这个索引中的文档进行索引、搜索、更新…

[附源码]计算机毕业设计JAVA音乐交流平台

[附源码]计算机毕业设计JAVA音乐交流平台 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis M…

【数字逻辑】——逻辑函数及其简化(学习笔记)

&#x1f4d6; 前言&#xff1a;1849年英国数学家乔治&#xff0c;布尔&#xff08; George Boole &#xff09;首先提出了描述客观事物逻辑关系的数学方法&#xfe63;布尔代数。1938年克劳德&#xff0e;香农&#xff08; Claude E . Shannon &#xff09;将布尔代数应用到继…

深度学习-BN(Batch Normalization)

1. 介绍 Batch Normalization是2015年一篇论文中提出的数据归一化\color{blue}{数据归一化}数据归一化方法&#xff0c;往往用在深度神经网络中激活层之前。其作用可以加快模型训练时的收敛速度&#xff0c;使得模型训练过程更加稳定&#xff0c;避免梯度爆炸或者梯度消失。并且…

postgresql 数据库导出和导入

简介 本篇文章主要介绍PostgreSQL库和表的导出和导入以及常用的数据库管理工具的使用 一、数据库的导出和导入 1. 使用pgAdmin导出和导入数据库 导出 导入 新建数据库&#xff0c;右键Restore 2. 使用Navicate导出和导入数据库 导出 选择要导出的数据库&#xff0c;点…

【小f的刷题笔记】(JS)数组 - 差分数组 LeetCode1109 LeetCode1094

【数组】 差分数组&#xff1a; &#x1f31f; 频繁对原始数组的某个区间的元素进⾏增减 ✔ 把每个数与前一个数的差值计算出来存在一个新数组里&#xff0c;区间的加减通过把新数组中区间开始下标的值加/减&#xff0c;区间结束下标对应的值减/加&#xff08;反一下&#x…

软件工程笔记

软件工程软件工程:指导计算机软件系统开发和维护的工程学科:目的:有序,可控,可管理软件工程方法学要素:方法,工具,过程软件:程序数据文档软件分类:软件生命周期补充:软件工程方法:软件生命周期中使用的一整套技术评价标准:软件开发方法:软件工程:指导计算机软件系统开发和维护的…

蓝桥杯时间显示

题目描述 小蓝要和朋友合作开发一个时间显示的网站。 在服务器上&#xff0c;朋友已经获取了当前的时间&#xff0c;用一个整数表示&#xff0c;值为从 19701970 年 11 月 11 日 00:00:0000:00:00 到当前时刻经过的毫秒数。 现在&#xff0c;小蓝要在客户端显示出这个时间。…

[附源码]Python计算机毕业设计Django社区疫情防控信息管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

【有营养的算法笔记】快速排序

&#x1f451;作者主页&#xff1a;进击的安度因 &#x1f3e0;学习社区&#xff1a;进击的安度因&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;有营养的算法笔记 文章目录一、思路二、模板讲解三、模板测试四、加练 —— 第 K 个数今天正式开启算法笔记…

生产型外协管理系统:功能解析篇

随着经济全球化与电商的全面发展&#xff0c;生产型企业的生产订单是在逐年生产的。由于自身的生产能力有限&#xff0c;很多企业不得不将些许业务进行外包生产&#xff0c;也就是所谓的外协生产。既然需要外协生产的话&#xff0c;那么对外协生产进行管理也就尤为重要了。作为…

[附源码]计算机毕业设计软考刷题小程序Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Express:JSONP 接口

JSONP 接口 1. 回顾 JSONP 的概念与特点 概念&#xff1a;浏览器端通过 <script> 标签的 src 属性&#xff0c;请求服务器上的数据&#xff0c;同时&#xff0c;服务器返回一个函数的调用。这种请求数据的方式叫做 JSONP。 特点&#xff1a; ①JSONP 不属于真正的 Aj…

ASEMI整流桥KBU808参数,KBU808尺寸,KBU808大小

编辑-Z ASEMI整流桥KBU808参数&#xff1a; 型号&#xff1a;KBU808 最大重复峰值反向电压&#xff08;VRRM&#xff09;&#xff1a;800V 最大RMS电桥输入电压&#xff08;VRMS&#xff09;&#xff1a;560V 最大直流阻断电压&#xff08;VDC&#xff09;&#xff1a;800…

Linux学习-72-GRUB加密方法(2种加密方式)

16.14 GRUB加密方法&#xff08;2种加密方式&#xff09; Linux 在启动时&#xff0c;在 GRUB 管理界面中是可以通过按"e"键进入编辑模式&#xff0c;修改启动选项的。每个启动选项都支持按"e"键进入编辑模式。在编辑模式中可以修改启动模式&#xff0c;比…

有必要好好学习一下dc_shell了

首先最好是有design compiler user guide&#xff0c;哪里不会找哪里&#xff1f;然后来看看常见的dc_shell 命令 一般先要起一个dc_shell。 dc_shell 启动以后&#xff0c;使用 read_ddc xxx/DBs/ddc/<block_name>.ddc 将design compiler的综合结果读入。 为了确认读入…