linux 韦恩图两个,在线&在R中绘制韦恩图的几种方法 和 一些漂亮的venn图

这个程序是在线运行的,无需安装任何插件.输出一张图真的是分分钟的事儿!其实即使不是画韦恩图,也可以利用这个网站,找出两种不同处理(状态)的共有基因,或者特有基因等等.

使用limma包

1

2

3

4

5

6

7

8

9

10

11

12

13

14

#安装limma包

#source("http://www.bioconductor.org/biocLite.R")

#biocLite("limma")

#载入limma包

library(limma)

hsb2 《- read.table("http://www.ats.ucla.edu/stat/R/notes/hsb2.csv", sep=',', header=T)

attach(hsb2)

hw 《- (write《=60)

hm 《- (math 《=60)

hr 《- (read 《=60)

c3 《- cbind(hw, hm, hr)

a 《- vennCounts(c3)

vennDiagram(a, include = "both", names = c("High Writing", "High Math", "High Reading"), cex = 1, counts.col = "red")

使用gplots包

1

2

3

4

5

6

7

8

9

10

11

12

13

#安装gplots包

#install.packages("gplots")

#载入gplots包

library(gplots)

oneName 《- function() paste(sample(LETTERS,5,replace=TRUE),collapse="")

geneNames 《- replicate(1000, oneName())

GroupA 《- sample(geneNames, 400, replace=FALSE)

GroupB 《- sample(geneNames, 750, replace=FALSE)

GroupC 《- sample(geneNames, 250, replace=FALSE)

GroupD 《- sample(geneNames, 300, replace=FALSE)

input 《-list(GroupA,GroupB,GroupC,GroupD)

venn(input)

使用venneuler包

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

#安装venneuler包

#install.packages("venneuler")

#如果遇到rJava安装失败的问题,Ubuntu用户尝试可以通过以下方式解决

#sudo apt-get install r-cran-rjava

#载入venneuler包

library(venneuler)

m 《- data.frame(elements=c("1","2","2","2","3"), sets=c("A","A","B","C","C"))

v 《- venneuler(m)

plot(v)

m

# without weights

v 《- venneuler(m > 0)

plot(v)

# with weights

v 《- venneuler(m)

plot(v)

使用VennDiagram包

1

2

3

4

5

6

#安装VennDiagram包

#install.packages("VennDiagram")

#载入VennDiagram包

library(VennDiagram)

venn.diagram(list(A=1:10,B=3:8,C=6:9), fill=c("red","green","blue"), alpha=c(0.5,0.5,0.5), cex=2, cat.fontface=4, fontfamily=3, filename="VennDiagram.tiff")

建议用后面三种方法,最多能画5 sets,limma方法最多只能画3 sets

a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

但在2013年Nature的文章《Draft genome of the wheat A-genome progenitor

Triticum urartu》中用的是这样的图,看起来不错,每个区域的大小偏差不会太大。

就是不知是怎画的。~~~

a4c26d1e5885305701be709a3d33442f.png

参考资料

还有一些有趣的Venn图

a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

————————————————————————————

如何制作发表质量的Venn(维恩)图

--在Venn(维恩)图中根据数据比例调整集合的大小

转自科学网薛良交

通过不同方法,对于不同的研究对象,你可能得到不同的列表。比如不同表达模式的基因,不同矿物的组分,以及不同特征的人群......接下来,你可能希望把它们用集合的形式显示出来,看看各部分的交集,以及哪些类别较多。最简单的方法是用PPT画出不同的圈圈,然后标上数字。如果想让不同交集的尺寸随着数字的大小而调整,可能需要花上一点功夫。

这里有一个一劳永逸的方法(Vennerable

package),轻松获得和高水平文章上类似的Venn(维恩)图。

简单搜索了一下,网上还没有中文的相关文档,或者一些文档对R语言有一定的要求。于是,写了一段代码,让会用Excel、

知道R(http://www.r-project.org/)尚没有学习写R代码的同学可以做出相同的图片。把代码贴出来,让需要的同学少走些弯路。

0. For

advanced R User:

Reference to Vennerable package

1.For

R Beginner:

A.工具安装

1)安装R环境(选最新版本下载,双击,一直按确定即可)。运行R,打开命令窗口。

2)安装Vennerable包

输入:

install.packages("Vennerable",

repos="http://R-Forge.R-project.org")

选择服务器,确定

或者:先下载ZIP(Windows)文件,然后Packages--Install

from Zip files

3)导入Vennerable包

library(Vennerable)

这时R可能通知还需要其它软件包,记下需要的软件,选最新版本下载ZIP文件,并安装,或者在命令窗口输入install.packages("XYZ"),选择服务器,确定。报错?那就先下载再安装。

B.开始工作

1)准备数据

建立一个Excel表格,包含元素和组别的关系,“是”则大于0,“否”则为0。

Name

Shanghai

Beijing

Guangzhou

XiaoWu

0

0

1

XiaoMing

0

1

0

XiaoHan

0

1

1

XiaoGao

1

0

0

XiaoFu

1

0

1

XiaoDai

1

1

0

XiaoChen

1

1

1

XiaoXue

1

0

1

这是各位同学去过的不同城市。另存为Tab 分隔的 txt 文件,取个名字比如travel.txt。

注意,演示数据中,最好各种情况都有,数据较少并且分布奇怪,Vennerable可能会不接受。

2)开始作图(依次把命令拷贝到命令窗口)

folder

file

# 告诉R,文件在哪里,叫什么名字,注意是“\\”

setwd(folder)

read.table(file,header=TRUE,sep="\t",row.names=1)->venndata;

library(Vennerable)

#数据整理

probe

sample

data

names(data)

for (num in 1:length(sample)){

hit

out0]

data[[num]]

}

#数据统计

Vstem

Vstem

#数据统计好了

#根据实际,选择作图命令

#2或3 分组

plot(Vstem)

# 4 个分组

plot(Vstem,type="ellipses",doWeights =FALSE)

# 5个及以上分组

请参照Vennerable package说明文档

# 1个分组

打开Windows PowerPoint,插入圈图即可。

当然可以把命令先拷到记事本中,编辑好后,一次拷入命令窗口。

a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

恩,是不是你想要的。接下来,右键拷贝出即可。

-------------------------------------------------------------

这里有不调整集合尺寸的作图方法:

R语言

非R语言

如果做四组分类建议用这个(因为Vennerable也不调整尺寸)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值