【R分享|实战】利用R绘制全球样点的地理信息图

 不求做的最好,但求做的更好。”   --科白君
"R实战"专题·第18篇
  编辑 | 科白维尼
  1470字 | 3分钟阅读
本期推送内容

在做meta分析时,通常我们要将所收集数据的对应样点绘制成一张样点地理信息分布图。一张好看的采样点信息分布图还是很有必要的。今天主要是复现这部分代码。下期预告:如何在绘图时让图看起来更加舒服和美观--配色问题。

咱们直接进入代码及其讲解部分:在公众号回复 关键词 "客服微信",添加并备注进群学习可以获取对应的数据代码~

# 清空当前环境变量
rm(list = ls())

# 加载所需要的R包
library(maps)
library(ggplot2)
library(sp)
library(maptools) # 加载地图工具包
library(tidyverse)

# 查看数据结构
str(point)
head(point)

数据结果如下:

初步绘制所选数据的地理信息图:

mapworld<-borders("world",regions=".",
colour ="gray50",fill="#FFF2CC", size=0.01)# 绘制基本地图
mp <- ggplot(data = point)+
mapworld # ylim(-60,90) 定义除南极洲外的世界地图显示区域(ylim()函数控制)
print(mp)

进一步完善所绘地图:

# 完善绘图
mp2<- mp+# mp是前面已经画的一个基础背景图
  geom_point(aes(x=long,# 经度
                 y=lat,# 纬度
                 color=Ecosystem,# 对土壤类型进行颜色区分
                 size=Relative_abun),# 对土壤有机碳含量进行点的大小设定
             alpha=0.9)+# alpha 表示点颜色透明度
  scale_size("Relative \nabundance",range=c(0,8))+# scale_size 函数 主要是设定点的大小,通过range的范围来实现
  # theme是对主题的一个微调,根据自己情况可自行调整
  theme(legend.background = element_blank(),
        panel.grid.major=element_blank(),
        panel.grid.minor=element_blank(),
        panel.background = element_rect(fill ='#7FCBF9'))+
# panel.background 背景颜色我们设置为海蓝色,这样更加真实
  labs(x="Longitude",y="Latitude")# xy坐标轴的标签改为经纬度
mp2# 查看结果

从完善后的图形来看,整体美观性还是比较高的。另外,之前有同学提醒这个图关于中国南海部分的存在一些边界问题。小编也尝试在国家测绘局网站上查找标准且争取的地图数据,可能是方法不对暂时查询无果。这里,本公众号强调:该代码以及结果仅供学习和参考,不建议用于论文发表。若出现相关问题,一概与本公众号无关,谢谢配合~

(0)

相关推荐