查看原文
其他

R语言ggplot2地理信息可视化(下)

张杰 宏基因组 2022-07-05

很荣幸,能来北京参加2018年第十一届中国R会议,并在中国人民大学-R语言数据可视化会场作报告。

本次演讲题目:《R语言ggplot2之地理信息可视化》,本次演讲重点讲解R语言基于ggplot2包的地理信息可视化,先介绍不同的地图投影模式,讲解世界地图、美国和英国等世界各国、中国(包括省级、市级到县级不同的行政单位)、局部地图等,地图数据的获取与绘制,特别会讲解标准中国和美国地图的绘制;再接着讲解不同的地图类型,包括等值区间地图、带散点、气泡、柱形、饼图和连接线的地图、等位地图、地铁线路图等。


    

本次演讲只讲解地理空间数据可视化部分,此部分也被收录在我的新书《R语言数据可视化之美》中,敬请期待。


 本次内容相对来说,有点多,我拆成两部分推送给大家:地图等级和地图类型。关于地图等级部分的内容请见:

R语言ggplot2地理信息可视化(上)

这次就介绍地图类型的部分。

点描法地图

点描法地图(DotMap, 点分布地图DotDistribution Map, 点密度地图Dot Density Map)是一种通过在地理背景上绘制相同大小的点来表示数据在地理空间上分布的方法。点数据描述的对象是地理空间中离散的点,具有经度和纬度的坐标,但是不具备大小的信息,比如某区域内的餐馆、公司分布等。

       在R语言中先使用geom_polygon()函数绘制地图,再使用geom_point()函数在地图图层上就可以绘制散点数据。


沃罗诺伊地图

沃罗诺伊图(VoronoiDiagram,也称作又叫狄利克雷镶嵌(Dirichlettessellation)或者泰森多边形(Thiessen polygon)是由俄国数学家格奥尔吉·沃罗诺伊建立的空间分割算法。

      沃罗诺伊图解决的问题实际上就是基于一组特定点将平面分割成不同区域,而每一区域又仅包含唯一的特定点,并且该区域内任意位置到该特定点的距离比到其它的特定点都要更近。特别适用于如分析星巴克咖啡、7-11便利店等的最大覆盖区域。


带气泡的地图

带气泡的地图(BubbleMap),其实就是气泡图和地图的结合,根据数据(lat,long,value)在地图上绘制气泡。位置信息(lat,long)对应到地图的具体地理位置,数据的大小value映射到气泡面积大小,有时候还存在第四维类别变量catergory,可以使用颜色区分数据系列。

       带气泡的地图比分级统计图更适用于比较带地理信息的数据的大小,但是当地图上的气泡过多过大时,气泡间会相互遮盖而影响数据展示。所以在绘制时需要考虑设定气泡的透明度。



带柱形的地图

带柱形的地图(BarMap)是柱形图和地图的组合,可以用柱形系列表示地理位置的一系列数据指标,柱形的高度对应指标的数据,不同的指标使用不同的颜色区分。

       在R语言中,可以使用geom_polygon()函数绘制地图,geom_rect()函数绘制柱形数据,geom_text()函数添加数据标签。


带饼图的地图

带饼图的地图(PieMap)是饼图和地图的组合,可以用饼图系列表示地理位置的一系列类别的数值占比情况,饼图的占比对应类别的数据,不同的类别也可以使用不同的颜色区分。

      R语言scatterpie包的geom_scatterpie()函数可以绘制散点复合饼图和气泡复合饼图。先使用geom_polygon()函数绘制地图,再使用geom_scatterpie()函数在地图图层上就可以绘制散点复合饼图或者气泡复合饼图。



带连接线的地图

在地理空间数据中,线数据通常指连接两个或更多点的线段或者路径。线数据具有长度属性,即所经过的地理距离。常见的线数据可视化方法包括连接地图和流向地图。

       连接地图 (Connection Map) 是用直线或曲线连接地图上不同地点的一种图表。虽然连接地图非常适合用来显示地理连接和关系,但我们也可使用单一连接链路来显示地图路线。此外,通过研究连接地图上的连接分布或集中程度,我们也可以用它来显示空间格局。

      在R中geosphere包的geosphere()函数可以计算两地的中间路线的插值,再使用geom_path()可以绘制线条。

流向地图(FlowMap) 在地图上显示信息或物体从一个位置到另一个位置的移动及其数量,通常用来显示人物、动物和产品的迁移数据。单一流向线所代表的移动规模或数量由其粗细程度表示,有助显示迁移活动的地理分布。

      在R中geosphere包的geosphere()函数可以计算两地的中间路线的插值,再使用geom_path()可以绘制线条,单一流向线所代表的移动规模或数量映射到线条的粗细size。


欢迎大家加入EasyCharts-QQ群


如需转载请联系EasyCharts团队!

猜你喜欢

10000+:菌群分析 宝宝与猫狗 梅毒狂想曲 提DNA发Nature Cell专刊 肠道指挥大脑

系列教程:微生物组入门 Biostar 微生物组  宏基因组

专业技能:学术图表 高分文章 生信宝典 不可或缺的人

一文读懂:宏基因组 寄生虫益处 进化树

必备技能:提问 搜索  Endnote

文献阅读 热心肠 SemanticScholar Geenmedical

扩增子分析:图表解读 分析流程 统计绘图

16S功能预测   PICRUSt  FAPROTAX  Bugbase Tax4Fun

在线工具:16S预测培养基 生信绘图

科研经验:云笔记  云协作 公众号

编程模板: Shell  R Perl

生物科普:  肠道细菌 人体上的生命 生命大跃进  细胞暗战 人体奥秘  

写在后面

为鼓励读者交流、快速解决科研困难,我们建立了“宏基因组”专业讨论群,目前己有国内外5000+ 一线科研人员加入。参与讨论,获得专业解答,欢迎分享此文至朋友圈,并扫码加主编好友带你入群,务必备注“姓名-单位-研究方向-职称/年级”。PI请明示身份,另有海内外微生物相关PI群供大佬合作交流。技术问题寻求帮助,首先阅读《如何优雅的提问》学习解决问题思路,仍未解决群内讨论,问题不私聊,帮助同行。

学习16S扩增子、宏基因组科研思路和分析实战,关注“宏基因组”

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存