使用gganimate可视化全球范围内R-Ladies(R社区性别多样性组织)的发展。
作者:闫涛,浙江大学作物遗传育种专业研究生(生物信息学),伪码农民,热爱R语言,热爱开源。盛宝典系统测试并解释代码。
简介:R-Ladies是一个全球性组织,旨在促进R语言社区的性别多样性。分析其粉丝成员的分布信息。本文主要基于d4tagirl,做了一些修改。原文链接:3359d 4 tag IRL . com/2017/05/how-to-plot-animated-maps-with-gganimate边肖用3.5.1版本再现了以下过程,GG Animate包不能通过工具Tools——Install Pakages安装,需要直接从github安装。以下命令适用于我遇到的情况。(gganimate有两个包,本文用的是老版本。2018年美日科学家因免疫治疗获得诺贝尔生理医学奖|动画显示,历年生理学奖使用新版本,用法并不一致。也请注意。)
工具: Install _ GitHub(‘ DGR two/gganimate ‘,ref=’ v0.1.1 “)另一个依赖软件是imageMagick软件,这是一个图形编辑软件,需要单独下载,安装在PC或服务器上。下载地址是https://imagemagick.org/script/index.php,所以选择一个适合你自己的电脑系统安装的版本。建议使用ImageMagick-6.9.10。最新版本和这个R包有兼容性问题。gganimate的新版本不依赖于这个软件。注意:安装路径中不能有中文字符和空格。
Load #加载软件包,如果缺少的话就安装它。库(pacman)p_load(tidyverse,gganimate,maps,gg themes)rla dies-read _ CSV(URL(‘ https://raw . githubusercontent . com/d4tagirl/R-Ladies-growth-maps/master/rla dies . CSV ‘)% % select(-1)head(rla dies)# # A tibble : 6 x 7 # # screen _ name location created _ at followers age _ days lon lat # # # # 1 rla diessf San Francis ~ 2012年
# borders是地图包中的一个函数,用于获取地图信息和绘制地图#其他部分由ggplot2操作。GGPlot () borders (‘world ‘,color=’ gray85 ‘,fill=’ grey 80 ‘)geom _ point(data=rla dies,AES (lon,lat,size=followers),color=’purple ‘,alpha=0.5)scale _ size _ continuous(range=c(8,24),breaks=c(250,500,750,1000)) labs(size=’Followers ‘,title=’ R-Ladies ‘ Twitter帐户的开发’,x=NULL,y=NULL) theme(text=element_text应该有更简单的方法plot . title=element _ text(size=40,color=’ # F9Ba00 ‘),plot . subtitle=element _ text(size=14),axis.tickets=element _ blank(),axis.text=element_blank(),panel.grid=element_blank(),panel . background=element _ rect(fill=’ # 3333333 ‘),plot . background=element _ rect(fill=’ # 33333333 ‘),legend.position=c(0.18,0.36), family=’Helvetica黑’,color=’#f9ba00 ‘,Hjust=’left ‘)动画显示为了使用gganimate进行动态显示,需要建立一个映射变量:time(后面的帧)。 同时,为了使可视化在开始时呈现空白,并在结束时保持显示一段时间,构造了两个空白层,即下面两个数据表。这里的时间线由日期构成,也可以使用其他数值变量或因子变量。请注意,可以根据需要进行修改。如果它不是日期变量,则为。不需要日期函数转换。
#请注意,开始时间必须早于或晚于实际数据中的时间。#每次生成一张图片。如果有重名,图片会丢失,拼接会出错。ghost _ points _ ini-TiB ble(created _ at=as。Date(‘2011-09-01 ‘),followers=0,lon=0,lat=0)ghost _ points _ fin-TiB ble(created _ at=seq(as .日期(‘ 2017-05-16 ‘),如。Date (‘2017-05-30 ‘),by=’ days ‘),followers=0,lon=0,lat=0)添加框架映射。aes中的框架和累积并不是ggplot2的标准美学参数。如果它们未被识别,将弹出警告。别理它。Gganimate可以识别这两个,frame指定哪一列作为时间轴,每个时间轴会生成1张图片;累积意味着积累,新的时间线包含以前的数据。请注意,以下三个geom_point使用不同的数据表。
map – ggplot() borders(‘world ‘,color=’gray85 ‘,fill=’grey80’) # aes中的设计和累积的不是ggplot2的标准美学参数,不被识别,会弹出警告,忽略就好# g动画可以识别这两个,框架指定用哪一列做时间轴,每个时间轴会生成一张图片;#累积表示累加,新的时间轴包含之前的数据geom_point(data=rladies,aes(lon,lat,size=followers,frame=created_at,cumulative=TRUE),color=’purple ‘,alpha=0.5)scale _ size _ continuous(range=c(4,16),breaks=c(250,500,750,1000)) # aes中的设计和累积的不是ggplot2的标准美学参数,不被识别,会弹出警告,忽略就好# g动画可以识别这两个,框架指定用哪一列做时间轴,每个时间轴会生成一张图片;#累积表示累加,新的时间轴包含之前的数据geom _ point(data=ghost _ points _ ini,aes(lon,lat,size=followers,frame=created_at,cumulative=TRUE),alpha=0)geom _ point(data=ghost _ points _ fin,aes(lon,lat,size=followers,frame=created_at,cumulative=TRUE),alpha=0) labs(size=’Followers ‘,title=’ R-Ladies ‘ Twitter帐户的开发,x=NULL,y=NULL)theme(text=element _ text(family=’ Times New Roman ‘,color=’ # EEEEEE color=’ # f9ba 00 ‘)(geom=’ text ‘,label=’ Made by Logos yt Logos)。github。io \ n源自d4ta少女。’ com ‘,x=70,y=-55,size=6,family=’Helvetica黑,color=’ # f9ba 00 ‘,hjust=’左)动画:阿尼。options(interval=0.15,ani.width=1500,ani . height=8 filename=’ d4tagirlmap。gif ‘)会话信息ssioninfo()## R版本3.4.3 (2017-11-30)##平台: x86_64-w64-mingw32/x64 (64位)# #运行于: Windows 10 x64(内部版本号16299)## #矩阵产品:默认# # #区域设置: # #[1]LC _ COLLATE=中文(简体)通过一个命名空间加载(并且没有附加): # #[1]重塑2 _ 1。4 .3港湾_ 1。1 .1 lattice _ 0.20-35 # #[4]color space _ 1.3-2 html tools _ 0.3。6 YAML 2.1。16 # #[7]utf8 _ 1.1。3 rlang _ 0.1。6支柱_ 1.1。0 # #[10]外来_ 0.8-69胶水_ 1.2。0模型r _ 0.1