所有人!瞬间掌握-无限个列表的-‘韦恩图’(Venn)绘制!

写在前面

《-零命令行-生信下游数据分析》的第四帖主题,定为韦恩图绘制
总的来说,凡是相对不简单的分析,无论是否涉及到组学数据,韦恩图(Venn)都是常见的操作之一。
目前关于韦恩图绘制,有不少推文,但可能没有一个推文提出一个绝对简单的,适合所有人的解法

一图胜千言

为了避免推文没人看,想想还是先祭出TBtools的UpsetPlot的图。Upset Plot应该算是要革了多集合韦恩图的命的一个图形展示方式。首先我们摆一张TBtools六组的韦恩图

恩,看着有点懵逼,不过Venn Plot无需解释,再摆一张TBtools的Upset Plot

稍微解说下图片。图形主要是三个区块:

  1. 图形左边的 水平柱形图,每一个柱子对应了一个输入列表,柱子长度对应的是 输入的那个列表的ID个数

  2. 图形下边(的右侧),标识的是当前竖直柱形图柱子对应的是哪些列表的交集,如第一个(最长的)那个柱子,其中只有一个黑色圈圈,所以上边竖直柱形图对应的柱子 571 即标识 Set3 具有唯一的 571 个ID;类似的,图中已经被我调整为蓝色的“圈圈-连线-圈圈”,标识的是,Set1 和 Set3 和 Set4 和 Set5 独有的交集;而图中已经被我调整为绿色的“圈圈-连线-圈圈”,标识的是,Set1,2,3,4,5 独有的交集。总的来说,对比Venn Plot应该就什么都知道啦

  3. 图形上边的柱形图..... 相信无需解释了

好的,下面进入正文。

韦恩图绘制的相关解法与局限

解法:

  1. 网页工具,如Venny

  2. 界面化工具,如......

  3. R语言包

局限:

  1. 网页工具,数据的复制黏贴是个问题。这个主要可能受到网速的限制

  2. 界面化工具是不错的解法,然而目前看来操作并不够简单,各种麻烦,而且基本就真的只能画Venn

  3. R语言包;总的来说,相对优秀的R语言使用者都会贡献出一些不错的R包,似乎R语言除了不能帮你生孩子之外,没有什么做不到的了....。But,首先,编程!。其次,数据整理麻烦!一旦超过5组的Venn,就要Upset了。而一旦要用UpsetR,又有一堆人要懵逼。原因是UpsetR需要输入所谓的0-1矩阵。

没人愿意整,那就让我来

大背景是,TBtools早就支持二到六组的Venn,而且还有一些独特的优点:

  1. 本地化,你需要做的就是拖文件进去,或者复制ID列表进去,然后点击Start

  2. 可以随意使用取色器,任意修改颜色,甚至是修改形状,线条粗细等

  3. 可交互,所有数字标签,双击可以获得列表;所有元件,包括标签位置可以随便拖动

  4. 可以导出300dpi图片或者矢量图如PDF svg

  5. 批量输出交集和差集列表

操作方式简单

1.    黏贴ID列表或拖文件(有多少个列表就拖多少个列表)

2.    点击Start

摆一些例图

但是,以上远远不够

任何韦恩图绘制,只要超过4组,其实都比较丑。所以只有UpsetPlot才是解法。
你需要做的事情很简单,几乎可以在几秒钟之内完成:

  1. 打开TBtools

  2. 移动鼠标,点击六次"Add"(因为一共是有6个列表要看差集和交集),你有多少个列表就点击多少下

  3. 分别把每个列表拖进去或者黏贴进去

  4. 点击“Never be Upset!”即可。

图形是可以交互的,双击 竖直柱形图的对应柱子,即可获得对应的ID列表。出图使用的TBtools最近的JIGplot绘图引擎,所以...拥有先天出图和交互优势。

写在最后

....讲真的,写到这里我不是太想写。GUI工具,写一个介绍,真的有点虐。
不如录一个小视频来的简单。OK,感兴趣的朋友
欢迎加入TBtools使用交流群 讨论TBtools的使用,
软件,我放在群共享了,去拿吧

(0)

相关推荐