iMeta教你绘图

iMeta教你绘图是iMeta期刊的特色栏目,主要对发表文章中代码进行测试、注释和解读,以帮助读者学习分析思路和绘图技术。

大部分相关领域的研究者目前开展数据分析与绘图使用R语言,这也是当前最流行、比较容易使用、学习和使用性价比较高的语言。通过对作者分析过程的代码重现,往往可以更深入的理解文章中的深层含义,通过代码设计的顺序和写法,可以了解作者分析过程的思路和风格。

世界海拔地图

本文为大家分享世界海拔地图的绘制,此图的数据和代码来自iMeta 2022年2月发表的高原肠道菌群分析文章的图1A。中文翻译和视频讲解详见:iMeta | 吴青龙/王明福/刘金鑫等-从肠道菌群看待人类对高原饮食的适应性。

原文数据和代码:https://github.com/qinglong89/Nomad-Prevotella

本文通过对作者提供的代码和数据进行测试和注释,方便大家学习。

整理后的代码详见:https://github.com/iMetaScience/iMeta 中 MapElevation 目录

图表及描述

图1. 游牧地区人群的 Prevotella 肠型具有较高的微生物多样性。(A) 主要游牧地区的地理位置和人类膳食特征。

Figure 1. Gut Prevotella enterotype of high microbial diversity in people of nomadic regions. (A) Geographic location and dietary patterns of major nomadic regions.

经历了长期的饮食选择,黑茶成为高原和低海拔草原地区游牧民族饮食中的重要组成部分(图1A)。值得注意的是,食用发酵奶制品也是游牧民族几千年来的一种传统饮食(图1A)。

Through long-term dietary self-selection, dark tea becomes an essential part of nomadic diets in high plateaus and low-altitude steppe areas (Figure 1A). Of note, consumption of fermented milk products is a tradition for thousands of years in nomadic diets (Figure 1A).

有趣的是,在藏族人、蒙古族人和哈萨克族人中,茶和发酵奶的摄入高且频繁(图1A),然而单纯地将这种饮食习惯与低炎症水平联系起来是值得怀疑的,需要设计一个系统的饮食干预来证实。

It is quite interesting to see the frequent consumption of tea and fermented milk in Tibetan, Mongolian, and Kazakh populations (Figure 1A), but linking such dietary habits to reduced inflammation is questionable and requires a systematic design of diet intervention to confirm it.

代码解读

目前微生物生态学研究内卷严重,越来越多的研究趋向于大数据、大范围、多组学、多层次等。往往大范围就涉及用到地图。我国对于涉及地图的出版物管理比较严格,虽然科学论文中出版社对地图使用通常中立,尊重作者的选择,但是尽量在地图绘制过程中尽量不要添加国界线等人为设定的区分内容,以防误用地图引起不必要的麻烦。

这里使用raster包进行分析遥感数据处理:raster包是基于rgdal底层库编写的地理数据处理包,包括图像的创建,图像的读取,图像的运算,图像的可视化,图像的输出。

# library加载包:raster是地理数据分析包,ggplot2是绘图包
library(raster)
library(ggplot2)# 自动下载地图数据:原始链接 https://biogeo.ucdavis.edu/data/climate/worldclim/1_4/grid/cur/alt_2-5m_bil.zip
elevation_world <- getData('worldclim', var='alt', res=2.5)
# 如无法自动下载,可手动下载并指定位置加载
# elevation_world <- getData('worldclim', download=FALSE, path="./", var='alt', res=2.5)# 绘图世界海拔图预览
plot(elevation_world$alt)

图. 世界海拔分布图

# 转换地图数据为数据框
# coerce class 'structure("RasterLayer", package = "raster")' to a data.frame
df <- data.frame(rasterToPoints(elevation_world$alt))
# 预览:经、纬度及海拔的格式
head(df)# 绘制世界海拔图,指定色阶 world elevation map,set color key
ggplot(df, aes(x=x, y=y)) +# 绘图矩形填充图,类似热图geom_raster(aes(fill=alt)) +# 手动指定热图由小到大的颜色及对应的梯度scale_fill_gradientn(colours = c("gray", "blue", "green", "yellow", "red"),values = scales::rescale(c(0, 0.133, 0.266, 0.4, 1))) +# 图例的字号和字体theme(legend.text=element_text(size=18),legend.title=element_text(size=14,face="bold"),axis.line = element_line(colour = "black"), panel.background = element_rect(fill = 'white', colour = 'black'))

图. 世界海拔分布图,手动设置颜色和梯度

# 选择亚洲指定区域,可在RStudio中右侧预览区zoom放大图,然后选择合适的范围
df_asia <- subset(df, x>60 & x<145 & y>15 & y<60) #focus on Asia# 绘制指定区域
p = ggplot(df_asia, aes(x=x, y=y)) +geom_raster(aes(fill=alt)) +scale_fill_gradientn(colours = c("white", "blue", "green", "yellow", "red"),values = scales::rescale(c(0, 0.137, 0.138, 0.276, 1))) +theme(legend.text=element_text(size=18),legend.title=element_text(size=14,face="bold"),axis.line = element_line(colour = "black"), panel.background = element_rect(fill = 'white', colour = 'black'))
# 预览
p# 保存PDF矢量图,文字可编辑,用于拼图
ggsave("3MapAsia.pdf", p, width = 183, height = 118, units = "mm")
# 作者默认保存eps格式是矢量图,但AI编辑中白色背景显示为黑,文字栅格化为图形不可调整字体和字号
# ggsave("3MapAsia.eps", device=cairo_ps)

图. 筛选亚洲指定区域的海拔分布图

引文

使用本教程,请引用:

Yina Huang, Jinxin Liu, Hein Min Tun, Catherine Stanton, Tingtao Chen, Hani El-Nezami, Hua Wei, Mingfu Wang, Qinglong Wu. 2022. Gut microbiota insights into human adaption to high-plateau diet. iMeta 1: e6. https://doi.org/10.1002/imt2.6

小知识:EPS格式

EPS 格式:EPS 文件格式是 Encapsulated PostScript 的首字母缩写词。它可以包含图形、插图或文本文件,还可以用于编码不同的点和公式,并且相对灵活和可调整大小。

优点:

  • EPS 矢量图文件可以调整为任何尺寸而不会降低其质量,此属性在打印大尺寸图像时特别有用

  • 使用范围非常广泛,受多种文字处理软件的支持,并与 Windows 和 Mac 兼容

  • 可以包含和组合图像、文本和插图,具有很大的可行性

缺点:

  • 大多数操作系统默认不支持EPS文件格式,不如JPG、PDF格式预览方便

  • 文字会出现栅格化,在AI中虽然是矢量,但无法修改字体,需要重新输入

  • 背景白色有时会变成黑色

  • EPS文件体积较大,最低分辨率为 300 dpi,以保持其质量

  • 页面布局应用程序通常不支持 EPS 文件修改,因此需要将文件保存为最终版再导入

本文教程网页版链接:http://210.75.224.110/github/iMeta/MapElevation/MapElevation.html

iMeta—微生物组/生物信息高起点期刊

联系方式

主页:http://www.imeta.science
出版社:https://onlinelibrary.wiley.com/journal/2770596x
投稿:https://mc.manuscriptcentral.com/imeta
邮箱:office@imeta.science
公众号:iMeta

iMeta最新文章中文版+视频

  • iMeta | 北大陈峰组综述口腔微生物组的标准化研究:从技术驱动到假说驱动

  • iMeta | 南昌大学丁霞等-水产养殖系统对中华鳖微生物组和肠道代谢组的影响

  • iMeta|西工大钟杨权威等-根系菌群沿环境梯度的响应机制

  • iMeta | Majorbio Cloud:一站式多组学数据分析平台

  • iMeta | 中科院生态中心邓晔组发布微生物组网络分析平台iNAP

第1卷第1期(2022.3)

  • iMeta | 第1卷第1期在线正式发布(2022/3/28)

  • iMeta | 整合宏组学重新认识生命和环境科学

  • iMeta | 吴青龙/王明福/刘金鑫等-从肠道菌群看待人类对高原饮食的适应性

  • iMeta | 德布鲁因图在微生物组研究中的应用

  • iMeta | 南科大宋毅组综述逆境胁迫下植物向微生物组求救的遗传基础

  • iMeta | 华中科大宁康组综述用于蛋白质结构预测的宏基因组定量分析

  • iMeta | 高颜值高被引绘图网站imageGP

  • iMeta | 电子科大林昊组开发蛋白质赖氨酸乳酸化位点预测工具DeepKla

  • iMeta | 青岛大学苏晓泉组开发跨平台可交互的微生物组分析平台

  • iMeta | 西农韦革宏团队焦硕等-土壤真菌驱动细菌群落的构建

  • iMeta | 哈佛刘洋彧等基于物种组合预测菌群结构的深度学习方法

  • iMeta | 中科院李小方等膳食甘草促进小鼠镉解毒并调节肠道菌群代谢

  • iMeta | 浙大倪艳组MetOrigin实现代谢物溯源和肠道微生物组与代谢组整合分析

iMeta教你绘图

  • 使用ImageGP绘图热图Heatmap

  • 使用ImageGP绘图富集分析泡泡图

  • 使用PMS分析微生物组(图文+视频)

iMeta相关资讯

  • iMeta | EndNote调整完美引文格式教程

  • Publons:文章审稿、编辑工作认证平台

  • 如何投稿iMeta期刊?ScholarOne投审稿系统作者使用教程

  • 报告视频录制:腾讯会议录屏+人像画中画特效

  • 高影响力期刊iMeta扬帆起航(微生物组&生物信息)

iMeta教你绘图 | 世界海拔地图相关推荐

  1. 我的世界服务器积分系统,我的世界PVP地图生命积分板系统原理详解

    我的世界PVP地图生命积分板系统原理详解由小编给大家带来,希望这篇我的世界PVP地图生命积分板系统原理详解,能够帮助到各位正在玩我的世界的玩家朋友们! 我的世界PVP地图生命积分板系统原理详解 大家去 ...

  2. 柱状山地图(我的世界风地图)(100种制图法4)

    柱状山地图(我的世界风地图) 一.问题 制作一幅柱状山(我的世界)风格的地图 二.操作步骤 1.加载数据 加载数据结果图 2.环境设置 环境设置参数设置 3.投影栅格 投影栅格参数设置 投影栅格结果图 ...

  3. vue实现世界疫情地图(点击进入子地图)

    vue实现世界疫情地图,点击可以进入子地图 效果展示 寻找数据源 设置代理 发送请求提取数据 提取数据 踩坑 处理数据并绘图 国内疫情地图数据处理绘制 海外疫情地图数据处理绘制 完整代码 代码优化 点 ...

  4. 我的世界java存档怎么导入_我的世界:地图种子输入“skull”,真的会找到沙漠骷髅岛么?...

    背景:早年间,流传于Minecraft的一个视频.玩家在地图种子中输入"skull",能够在沙漠中发现一座"沙漠骷髅岛".一时间大量的玩家来到这个种子寻找传说中 ...

  5. 超级玛丽地图java_我的世界超级玛丽地图包

    我的世界超级玛丽地图包让玩家重温童年游戏的经典趣味,游戏的剧情参考了原版的故事,故事的主人公在和爱人散步的时候遇到了危险,爱人也消失不见,玩家要帮助主人公挖掘事情的真相,找到马里奥的公主! 提取码:l ...

  6. VTK:彩色海拔地图用法实战

    VTK:彩色海拔地图用法实战 程序输出 程序完整源代码 程序输出 程序完整源代码 #include <vtkActor.h> #include <vtkDelaunay2D.h> ...

  7. mc穿越时空地图android,我的世界RPG地图穿越时空地图存档下载

    我的世界RPG地图穿越时空地图存档是一个非常出名的RPG地图存档,今天17173小编就为大家带来我的世界RPG地图穿越时空地图存档下载. 我的世界RPG地图穿越时空地图存档: 地图名称:穿越时空 地图 ...

  8. (2000-2020高精度世界人口密度地图下载分享【附下载链接】

    近几年,由WorldPop发布的世界人口密度地图,是目前精度最高.最可靠的长时间序列数据,因此被许多组织引用研究. 该网站提供两种人口密度数据集,分别是Top-Down.Bottom-Up,Top-D ...

  9. 我的世界服务器地图名称修改,《我的世界》修改地图名称颜色教程

    中很多玩家都看了别人的地图名称都是有颜色的,但是自己创建的地图都是灰色的名字一点都没有霸气,不吸引眼球,下面小编就为大家带来我的世界修改地图名称颜色教程,希望对各位玩家有所帮助. 这是标准的样子 然后 ...

  10. mc服务器小地图不显示玩家,我的世界旅行地图小地图不显示只显示地形 | 手游网游页游攻略大全...

    发布时间:2016-04-03 我的世界游戏中是可以旅游的哦,在旅行的时候地图是很关键的,今天为大家整理了几款经典的辅助工具,想要的朋友们可以看看下面的怎么下载我的世界旅行地图 我的世界各种旅行者必备 ...

最新文章

  1. android百度地图轨迹实现,android 获取GPS经纬度在百度地图上绘制轨迹
  2. vscode css智能补全_强大的 VS Code入门
  3. 开发日记-20190508 关键词 dagger Idea插件
  4. 华清远见智能家居ppt_怀揣梦想,一路前行——西安华清与西安培华实训集
  5. java铝轮_为速度而生 JAVA Fuoco铝合金气动公路
  6. 论文浅尝 | 实体图的预览表格生成
  7. 如何使用django显示一张图片
  8. 假如程序员面试都说真话
  9. 视频+笔记+能够跑通的代码,《李宏毅机器学习完整笔记》发布!
  10. B-数,B+树,B*树简单定义
  11. 【Android】Scrollview返回顶部,快速返回顶部的功能实现,详解代码。
  12. day5 字典 dict
  13. 利用高德制作GIS热力图
  14. linux命令之拒绝服务-关机重启shutdown-init0-6删库(滑稽脸)
  15. C++ STL容器底层详解
  16. 互联网最新创新创业项目
  17. you have got to find what you love
  18. 《数据挖掘》学习框架
  19. Vue [WDS] Disconnected 异常
  20. SEGMENT_VARIABLE什么意思?

热门文章

  1. 网络规划设计师水平考试备考资料(4.网络规划与设计)
  2. 高等数学中一些数学定理和公式
  3. 天黑时间跟经度还是纬度有关_经纬度和时间气候
  4. 《Java多线程编程核心技术》学习笔记(1)
  5. MathType与Office公式编辑器,谁更强?
  6. openvn 安装和配置
  7. 易语言WebUI教程 —— 入门简介
  8. Cocos2D-x设计模式发掘之二:二段构建模式 -----------cocos2d-x3.0正式版本(7.22)
  9. 高等数学(第七版)同济大学 习题1-2 个人解答
  10. Android Studio查看MD5与SHA1