前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >跟着Nature microbiology学画图~R语言画韦恩图然后拼图

跟着Nature microbiology学画图~R语言画韦恩图然后拼图

作者头像
用户7010445
发布2020-12-18 17:19:21
1.2K0
发布2020-12-18 17:19:21
举报
文章被收录于专栏:小明的数据分析笔记本

image.png

重复的图片是Figure2中的韦恩图,然后将两个韦恩图拼到一起

R语言里比较常用的画韦恩图的包是VennDiagram,但是今天的内容涉及到拼图,用VennDiagram画图后如何拼图我暂时还不知道。所以今天使用另外一个包ggvenn,因为是gg系列,拼图实现起来就相对比较容易。之前也录制过视频介绍这个包

第一次使用需要先安装
代码语言:javascript
复制
devtools::install_github("yanlinlin82/ggvenn")

输入数据可以是列表,也可以是一个数据框,今天用列表的形式作为输入数据

读入数据
代码语言:javascript
复制
df1<-read.csv("example_data/venn_example_1.csv",header=T)
df2<-read.csv("example_data/venn_example_2.csv",header=T)
df3<-read.csv("example_data/venn_example_3.csv",header=T)
df4<-read.csv("example_data/venn_example_4.csv",header=T)
构造一个列表数据
代码语言:javascript
复制
x<-list(`High marine protein`=df1$A,
        `Medium fat`=df2$B,
        `High fat`=df3$C,
        `Low marine protein`=df4$D)
最基本的韦恩图
代码语言:javascript
复制
library(ggvenn)
ggvenn(x)

image.png

这里遇到一个问题是文字标签超出边界了,如何调节文字标签的位置暂时还不知道如何通过代码实现,只能出图后手动编辑了。

接下来是美化

比如改变配色,去掉百分比,更改文字的颜色等等

代码语言:javascript
复制
ggvenn(x,
       show_percentage = F,
       stroke_color = "white",
       fill_color = c("#ffb2b2","#b2e7cb","#b2d4ec","#d3c0e2"),
       set_name_color = c("#ff0000","#4a9b83","#1d6295","#7030a2"))

image.png

接下来是再画一个三维的韦恩图
代码语言:javascript
复制
ggvenn(x,
       c("Medium fat","High fat", "Low marine protein"),
       show_percentage = F,
       stroke_color = "white",
       fill_color = c("#ffb2b2","#b2e7cb","#b2d4ec"),
       set_name_color = c("#ff0000","#4a9b83","#1d6295"))

image.png

接下来是拼图

因为是gg系列,拼图可以选择的就很多了,这里我选择cowplot这个包

代码语言:javascript
复制
p1<-ggvenn(x,
       show_percentage = F,
       stroke_color = "white",
       fill_color = c("#ffb2b2","#b2e7cb","#b2d4ec","#d3c0e2"),
       set_name_color = c("#ff0000","#4a9b83","#1d6295","#7030a2"),
       set_name_size  = 2)
p2<-ggvenn(x,
       c("Medium fat","High fat", "Low marine protein"),
       show_percentage = F,
       stroke_color = "white",
       fill_color = c("#ffb2b2","#b2e7cb","#b2d4ec"),
       set_name_color = c("#ff0000","#4a9b83","#1d6295"),
       set_name_size = 2)
library(cowplot)
plot_grid(p1,p2,ncol=2,nrow = 1,labels = c("b",""))

image.png

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第一次使用需要先安装
  • 读入数据
  • 构造一个列表数据
  • 最基本的韦恩图
  • 接下来是美化
  • 接下来是再画一个三维的韦恩图
  • 接下来是拼图
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档