pyvenn绘制2-6组韦恩图

  • 使用matplotlib_venn能绘制2~3组数据的韦恩图
  • pyvenn能绘制2~6组数据

本文主要介绍pyvenn这个轮子的使用方式。

准备工作

github地址

  1. 使用git直接clone
git clone https://github.com/tctianchi/pyvenn.git
  1. 直接下载zip包
    在这里插入图片描述

如果你已经完成上面操作,直接使用import venn可能会出现错误。

当我们导入一个模块时,默认情况下python解释器会搜索当前目录、已安装的内置模块和第三方模块,搜索路径存放在sys模块的path中:

>>> import sys
>>> sys.path
['', 'C:\\Users\\pc\\AppData\\Local\\Programs\\Python\\Python38\\Lib\\idlelib', 'E:\\Python\\Python38\\Lib\\site-packages\\easygui.py', 'C:\\Users\\pc\\AppData\\Local\\Programs\\Python\\Python38\\python38.zip', 'C:\\Users\\pc\\AppData\\Local\\Programs\\Python\\Python38\\DLLs', 'C:\\Users\\pc\\AppData\\Local\\Programs\\Python\\Python38\\lib', 'C:\\Users\\pc\\AppData\\Local\\Programs\\Python\\Python38', 'C:\\Users\\pc\\AppData\\Roaming\\Python\\Python38\\site-packages', 'C:\\Users\\pc\\AppData\\Local\\Programs\\Python\\Python38\\lib\\site-packages', 'C:\\Users\\pc\\AppData\\Local\\Programs\\Python\\Python38\\lib\\site-packages\\win32', 'C:\\Users\\pc\\AppData\\Local\\Programs\\Python\\Python38\\lib\\site-packages\\win32\\lib', 'C:\\Users\\pc\\AppData\\Local\\Programs\\Python\\Python38\\lib\\site-packages\\Pythonwin']

如果模块和.py不在同一个目录下,在脚本开头加sys.path.append('路径')即可,注意:这只是暂时的脚本运行后就会失效的。

也可以把路径添加到系统的环境变量,或把该路径的文件夹放进已经添加到系统环境变量的路径内。环境变量的内容会自动添加到模块搜索路径中。


简单使用

import sys
sys.path.append(r'C:\Users\pc\pyvenn')
import venn


labels = venn.get_labels([
            range(9),
            range(5, 15)
        ], fill=['number', 'logic'])
fig, ax = venn.venn2(labels, names=['list 1', 'list 2'])
fig.show()

在这里插入图片描述

import sys
sys.path.append(r'C:\Users\pc\pyvenn')
import venn
import matplotlib.pyplot as plt

labels = venn.get_labels([range(10), range(5, 15), range(3, 8), range(8, 17), range(10, 20), range(13, 25)], fill=['number', 'logic'])
fig, ax = venn.venn6(labels, names=['list 1', 'list 2', 'list 3', 'list 4', 'list 5', 'list 6'])
fig.show()

在这里插入图片描述

### 使用R语言绘制韦恩图 在R语言中,可以使用多种软件包来绘制韦恩图。以下是几种常用的方式及其对应的代码示例。 #### 方法一:使用`VennDiagram`包 `VennDiagram`是一个专门用于绘制韦恩图的R包,提供了灵活的功能以满足不同需求[^1]。下面是一段简单的代码示例: ```r library(VennDiagram) # 定义集合数据 groupA <- c("apple", "banana", "orange", "grape") groupB <- c("banana", "kiwi", "peach", "grape") # 绘制两个集合的韦恩图 venn.diagram( list(A = groupA, B = groupB), filename = NULL, col = "black", fill = c("blue", "red"), alpha = 0.5, label.col = "white" ) ``` 上述代码通过定义两数据并调用`venn.diagram()`函数完成绘图操作。 --- #### 方法二:使用`ggVennDiagram`包 `ggVennDiagram`不仅能够绘制传统的韦恩图,还支持更复杂的Upset图形式[^2]。其语法简洁易懂,适合初学者上手。以下为一个三集合的例子: ```r library(ggVennDiagram) # 创建样本数据框 data <- data.frame( A = sample(c(TRUE, FALSE), 100, replace = TRUE), B = sample(c(TRUE, FALSE), 100, replace = TRUE), C = sample(c(TRUE, FALSE), 100, replace = TRUE) ) # 将数据转换为列表格式 my_list <- lapply(names(data), function(x) rownames(data)[data[[x]]]) # 绘制韦恩图 ggVennDiagram(my_list, category.names = names(data)) ``` 此方法利用`lapply()`将原始数据转化为适配的形式,并最终生成美观的图表。 --- #### 方法三:借助在线工具辅助绘图 除了本地安装R包外,还可以考虑使用集成化的生物信息学平台如Sangerbox来进行数据分析可视化工作[^5]。这类服务通常无需额外配置环境即可快速得到高质量的结果。 --- ### 注意事项 - 对于超过四个集合的情况,建议优先选用Upset图替代传统韦恩图以便清晰表达复杂关系。 - 如果需要自定义颜色方案或其他样式属性,则需查阅相应文档了解具体参数设置方式。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dream丶Killer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值