前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >跟着Nature Communications学作图:R语言ggplot2画世界地图并用md语法添加文字标签

跟着Nature Communications学作图:R语言ggplot2画世界地图并用md语法添加文字标签

作者头像
用户7010445
发布2023-01-06 19:36:19
6520
发布2023-01-06 19:36:19
举报

论文

MiDAS 4: A global catalogue of full-length 16S rRNA gene sequences and taxonomy for studies of bacterial communities in wastewater treatment plants

https://www.nature.com/articles/s41467-022-29438-7

数据链接

https://figshare.com/articles/dataset/Dueholm2021a_data_zip/16566408/1

代码链接

https://github.com/msdueholm/MiDAS4

今天的推文我们重复一下论文中的Figure1a 世界地图

image.png

之前的推文介绍过世界地图添加采样地点

跟着Nature Communication学作图:R语言ggplot2画世界地图展示采样地点

首先是地图

我这里就不画国家的边界了,本来是想添加每个洲的边界的,但是暂时没有找到办法,想到了再来介绍吧

代码语言:javascript
复制
library(ggplot2)
world<-map_data("world")
ggplot() +
  geom_polygon(data=world,aes(x=long,y=lat,group=group),
               fill="#dedede")+
  theme_bw()+
  scale_y_continuous(expand = expansion(mult=c(0,0)))+
  scale_x_continuous(expand = expansion(add=c(0,0))) -> world.map

world.map

image.png

添加采样点

代码语言:javascript
复制
df<-read.csv("figure1df.csv")
world.map+
  geom_point(data = df,
             aes(x=Longitude, 
                 y=Latitude, 
                 colour = Process_type2), size=2)+
  scale_color_manual(values = c("#3373a5","#97b1c0",
                                         "#f8ad63",
                                         "#d8191a",
                                         "#c4c4c4"))

image.png

添加文本标签

代码语言:javascript
复制
library(ggtext)                                  
dftext<-data.frame(
  x=c(-180,-150,-10,100,50,-50),
  y=c(40,-50,-50,-50,50,60),
  label=c("**North america**<br>3 countries<br>107 cities<br>145WWTPs",
          "**South american**<br>2 countries<br>29 cities<br>38 WWTPs",
          3,4,5,6)
)
world.map01 +
  theme(legend.position = c(0.9,0.7),
        legend.background = element_rect(fill="transparent"),
        legend.box.background = element_rect(color="gray",
                                             fill="transparent"),
        legend.key = element_rect(fill="transparent"))+
  geom_richtext(data=dftext,
                aes(x=x,y=y,label=label),
                nudge_x =0,hjust=0,
                fill="transparent")

image.png

示例数据和代码可以直接到论文中去获取

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-09-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小明的数据分析笔记本 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 论文
  • 首先是地图
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档