数据可视化之维恩图 Venn diagram
文章目录
- 一、前言
- 二、主要内容
- 三、总结
🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/
一、前言
维恩图(Venn diagram),也叫文氏图或韦恩图,是一种关系型图表,用于显示元素集合之间的重叠区域。它帮助我们查看集合元素的分布关系,特别适用于图形化描述多个集合之间的交集、并集和差异。维恩图被广泛用于数学、统计学、逻辑、计算机科学和商业分析。它能够表示两组或更多组数据之间的逻辑关系。维恩图涉及重叠的圈子,这些圈子展示了组织结构、共同性和差异。

二、主要内容
让我们更详细地了解维恩图:
-
维恩图的基本概念:
- 维恩图由圆形或椭圆形区域组成,这些区域表示不同的集合。因此,维恩图的主要元素包括圆圈、交集、逻辑表达。
- 每个圆圈代表一个集合,而重叠部分则表示这些集合之间的共同元素。
-
维恩图的用途:
- 比较策略:我们可以使用维恩图来比较不同策略、决策或流程的潜在结果。每个圆圈代表一个观点或事物,重叠部分表示相同之处,而各自不重叠的部分则表示各自不同的特征。
- 突出显示组合和重叠:当我们需要通过消除工作流冗余来削减成本时,可以使用维恩图的重叠部分来定位任务。通过将方案细化并拆分为多个任务,我们可以解决问题或满足需求。
- 数据分析:企业决策者可以利用维恩图进行数据分析,以加强数据管理并做出决策判断。
- 广告品牌视觉化表达:维恩图的交叉环形形式常用于品牌的视觉效果表达,比如标志演变、广告活动、产品图表等。
通过维恩图,我们可以更好地理解集合之间的相同和不同之处,将抽象的事物图形化,降低复杂性,做出最优选择。
下面展示一个绘制维恩图的例子,参考了一篇 Cell 论文里的维恩图。论文:Shen, B., Yi, X., Sun, Y., Bi, X., Du, J., Zhang, C., … & Guo, T. (2020). Proteomic and metabolomic characterization of COVID-19 patient sera. Cell, 182(1), 59-72.

借助 EVenn 可以轻松绘制和分析维恩图。
- 轻松在线创建可重复、可编辑和可统计的维恩图和维恩-替代图。
- 支持 5 种类型的集合关系可视化。
- 开发一个统一的矩阵,作为所有 7 个工具的输入。
- 为任意数量的集合列出每个交集的元素。
- 计算集合一致性的统计意义。
- 生成出版物质量的矢量图像供下载。
- 根据个人需求定制大量样式参数。
效果如下图所示:

三、总结
借助 EVenn 可以轻松绘制和分析维恩图。利用 Python 编程绘制维恩图是另一种方法,可以借助 matplotlib-venn、pyvenn 或 UpSetPlot 实现。然而,这需要花费更多时间来学习 Python、组织数据和调整图表参数,以确保绘制的维恩图既美观又具有高分辨率,适合用于出版物。个人认为,维恩图的绘制相对简单、直观,因此通过编程绘制可能并非必要。
此外,您还可以使用 Visio 或 PPT 手动绘制圆形或椭圆形,然后手动设置它们的重叠部分和图例说明,实现更灵活地绘制维恩图并让它美观、直观。
维恩图作为一种强大的可视化工具,也有一些局限性。让我们来看看其中一些:
-
有限的集合数量:维恩图最适合用于描述两个或三个集合之间的关系。当涉及到更多集合时,维恩图会变得复杂且难以理解。
-
面积不准确:维恩图中的圆圈面积并不总是准确地表示集合的大小。这是因为我们通常使用圆圈的面积来表示集合元素的数量,但实际上,圆圈的面积可能不是按比例缩放的。
-
不适合连续数据:维恩图主要用于显示离散的集合元素。如果你的数据是连续的,例如时间序列数据或温度变化,维恩图可能不是最佳选择。
-
无法显示交集的具体元素:维恩图只能显示集合之间的交集,但无法具体列出交集中的哪些元素。如果你需要详细了解交集的内容,维恩图就无法提供这种信息。
-
不适用于大规模数据:当数据集非常大时,维恩图会变得混乱且难以解读。在这种情况下,其他可视化工具(如树状图或热力图)可能更适合。
-
不适合比较比例:维恩图不适合用于比较集合之间的比例。如果你关心的是集合元素的百分比或比例,其他图表(如饼图)更适合。
总之,维恩图在展示集合之间的关系方面非常有用,但在使用时需要考虑其局限性,并根据具体情况选择合适的可视化工具。
📚️ 参考链接:
- Chen, T., Zhang, H., Liu, Y., Liu, Y. X., & Huang, L. (2021). EVenn: Easy to create repeatable and editable Venn diagrams and Venn networks online. Journal of genetics and genomics= Yi chuan xue bao, 48(9), 863-866.
- matplotlib-venn - Venn diagram plotting routines for Python/Matplotlib
- pyvenn - 2 ~ 6 sets venn diagram for python
- UpSetPlot - Draw UpSet plots with Matplotlib
- Python 数据可视化之韦恩图
相关文章:
数据可视化之维恩图 Venn diagram
文章目录 一、前言二、主要内容三、总结 🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、前言 维恩图(Venn diagram),也叫文氏图或韦恩图,是一种关系型图表,用于显示元素集合之间的重叠区…...
2024刘谦春晚第二个扑克牌魔术
前言 就是刚才看春晚感觉这个很神奇,虽然第一个咱模仿不过来,第二个全国人民这么多人,包括全场观众都有成功,这肯定是不需要什么技术,那我觉得这个肯定就是数学了,于是我就胡乱分析一通。 正文 首先准备…...
【k8s系列】(202402) 证书apiserver_client_certificate_expiration_seconds
apiserver_client_certificate_expiration_second证书定义的位置:kubernetes/staging/src/k8s.io/apiserver/pkg/authentication/request/x509/x509.go at 244fbf94fd736e94071a77a8b7c91d81163249d4 kubernetes/kubernetes (github.com) apiserver_client_certi…...
Rust变量与常量介绍
Rust是一门注重安全性和性能的系统编程语言,其中变量和常量的概念有着独特的设计和特性。在本文中,我们将深入了解Rust中的变量和常量,并解释它们之间的区别,同时通过多个例子进行说明。 Rust常量 在Rust中,常量是不…...
Flask基础学习2
连接mysql数据库测试(专业版) [注意1:要导入text库,否则可能出现找不到select 1错误] [注意2:若出现下列问题,可按照模板代码的顺序db SQLAlchemy(app) 的位置] RuntimeError: Either SQLALCHEMY_DATABASE_URI or SQLALCHEMY_B…...
文章页的上下篇功能是否有必要?boke112百科取消上下篇功能
也不知道是从什么时候开始,我们很多站长的博客网站文章页都会在文末添加上“上一篇”和“下一篇”功能,目的是进行站内SEO优化和方便用户阅读上下篇文章。 boke112百科不管是以前使用的Three主题还是现在使用的YIA主题,刚开始的文章页都是有…...
Lua序列化
我们经常需要序列化一些数据,为了将数据转换为字节流或者字符流,这样我们就可以保存到文件或者通过网络发送出去。我们可以在 Lua 代码中描述序列化的数据,在这种方式下,我们运行读取程序即可从代码中构造出保存的值。 number/st…...
Acwing---839. 模拟堆
模拟堆 1.题目2.基本思想3.代码实现 1.题目 维护一个集合,初始时集合为空,支持如下几种操作: I x,插入一个数 x;PM,输出当前集合中的最小值;DM,删除当前集合中的最小值(…...
STM32 STD/HAL库驱动W25Q64模块读写字库数据+OLED0.96显示例程
STM32 STD/HAL库驱动W25Q64 模块读写字库数据OLED0.96显示例程 🎬原创作者对W25Q64保存汉字字库演示: W25Q64保存汉字字库 🎞测试字体显示效果: 📑功能实现说明 利用W25Q64保存汉字字库,OLED显示汉字的时…...
Android 移动应用开发 创建第一个Android项目
文章目录 一、创建第一个Android项目1.1 准备好Android Studio1.2 运行程序1.3 程序结构是什么app下的结构res - 子目录(所有图片、布局、字AndroidManifest.xml 有四大组件,程序添加权限声明 Project下的结构 二、开发android时,部分库下载异…...
MATLAB语音去噪系统
目录 一、背景 二、GUI页面 三、程序 3.1 LMS滤波程序 3.2 GUI程序 四、附录 一、背景 本文介绍了一种最佳的自适应滤波器结构,该结构采用最小均方差(LMS)作为判据,通过不断迭代自适应结构来调整得到最佳滤波器…...
小程序-上传图片功能
技术前置: 1.框架采用colorUI 2.原生开发 功能: 上传图片 1.上传已经拍摄的图片 2.实时拍摄上传 3.设置上传图片数量,每次上传数量 4.上传等待 ChooseImage() {if(this.data.imgList.length>4){_this.ErrorEvent("最多上传4…...
alist基本用法@文档阅读@挂载网盘@网盘webdav挂载
文章目录 alist官网alist网站风格说明alist软件版本 安装和启动使用必看文档👺alist for android版本启动alist网页 典型用例挂载阿里云盘open获取阿里云令牌 主页检查挂载情况 常用页面以配置挂载列表管理配置页面 配置文件和目录👺FAQ可能遇到的错误检…...
Hive正则表达式
Hive版本:hive-3.1.2 一、Hive的正则表达式概述 正则表达式是一种用于匹配和操作文本的强大工具,它是由一系列字符和特殊字符组成的模式,用于描述要匹配的文本模式。 Hive的正则表达式灵活使用解决HQL开发过程中的很多问题,本篇文…...
ubuntu20.04-编译安装Qt5.15.2-C++
文章目录 步骤一:安装依赖项步骤二:下载Qt 5.15源代码步骤三:配置并编译Qt步骤四:配置环境变量注意事项更新于2024年 在Ubuntu 22.04 LTS(Jammy Jellyfish)环境下编译Qt 5.15,由于Ubuntu 22.04的…...
【PTA|期末复习|编程题】数组相关编程题(二)
目录 7-1 数组元素循环右移问题(20分) 输入格式: 输出格式: 输入样例: 输出样例: 代码 7-2 找出不是两个数组共有的元素(20分) 输入格式: 输出格式: 输入样例: 输出样例: 代码 7-3 方阵循环右移(20分) 输入格式: 输出格式: 输入样例&…...
重温阿里云宝塔面板部署前后端项目
首先祝大家新年快乐啊! 回到老家,便打算趁这一段空闲时间提升一下自己,重点是学习实践一下echarts相关内容,很多公司项目都需要实现可视化,所以在bilibili上找了黑马的一个教程开始学习,不同的是ÿ…...
6个好看的wordpress模板
简站wordpress服务业通用主题 2023年立秋纪念版,简站wordpress服务行业通用主题,适合服务行业企业官网使用。 https://www.jianzhanpress.com/?p5393 小语种翻译wordpress主题 小语种国家外贸网站建设需要的wordpress主题模板,适合做小语…...
零基础学python之高级编程(1)---面向对象编程及其类的创建
面向对象编程及其类的创建 文章目录 面向对象编程及其类的创建前言一、面向过程编程和面向对象编程的概念1.面向过程编程(Procedural Programming)2.面向对象编程(Object-Oriented Programming,OOP) 二、面向对象编程基础1.初识类(class)和对象调用方法 2.类中的两种…...
[C# WPF] DataGrid选中行或选中单元格的背景和字体颜色修改
问题描述 WPF中DataGrid的选中行或选中者单元格,在焦点失去后,颜色会很淡,很不明显,不容易区分。 解决方法 在失去焦点的情况下,如何设置行或单元格与选中的时候颜色一样? <DataGrid.Resources>&…...
深耕纪实创作 AVG Media 以专业能力赋能纪录片产业发展
在全球内容产业快速迭代的当下,纪录片凭借真实的叙事力量、深厚的人文价值与多元的传播场景,成为内容领域中兼具艺术价值与商业价值的重要载体。国内纪录片行业历经多年发展,形成了多元主体参与、创作方向细分、国际合作深化的行业格局&#…...
3步精通Path of Building PoE2:流放之路2玩家的角色规划零门槛指南
3步精通Path of Building PoE2:流放之路2玩家的角色规划零门槛指南 【免费下载链接】PathOfBuilding-PoE2 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding-PoE2 你是否曾在《流放之路2》中遭遇这样的困境:投入数十小时培养的…...
Visio高效绘制神经网络卷积层:从基础到三维呈现
1. Visio绘制神经网络卷积层的入门指南 第一次用Visio画神经网络结构时,我盯着满屏的工具栏发懵——这玩意儿比Photoshop的图层还复杂。但摸索半天后发现,只要掌握几个核心功能,画卷积层其实比用PPT简单十倍。先说说最基础的形状选择…...
zynq7020 u-boot 外设配置实战指南
1. Zynq7020 U-Boot外设配置概述 在嵌入式系统开发中,U-Boot作为系统启动加载器扮演着关键角色。对于Xilinx Zynq-7020平台来说,正确配置U-Boot外设是确保系统正常启动和运行的基础。本文将重点介绍网口、QSPI Flash和eMMC这三个核心外设的配置方法。 为…...
Qwen3-TTS-Tokenizer-12Hz快速上手:Web界面一键处理音频文件
Qwen3-TTS-Tokenizer-12Hz快速上手:Web界面一键处理音频文件 1. 为什么选择Qwen3-TTS-Tokenizer-12Hz? 想象一下,你正在开发一个语音社交应用,用户上传的音频文件体积大、传输慢,服务器存储成本居高不下。传统压缩算…...
nli-distilroberta-base参数解析与调优指南:关键配置项详解
nli-distilroberta-base参数解析与调优指南:关键配置项详解 1. 引言 如果你正在使用nli-distilroberta-base模型进行自然语言推理任务,可能会遇到这样的困惑:为什么同样的模型在不同机器上运行速度差异这么大?为什么有时候推理结…...
『NAS』在绿联部署One API,统一管理你的所有大模型服务
点赞 关注 收藏 学会了 💡整理了一个 NAS 专属玩法专栏,感兴趣的工友可以戳这里关注 👉 《NAS邪修》 One API 是一个开源的接口管理与分发系统,它能将各种大模型的非标接口(如 DeepSeek、Kimi、LongCat 等ÿ…...
Android BLE开发实战:从BlueDroid扫描流程到性能调优全解析(附代码示例)
Android BLE开发深度优化:从BlueDroid扫描机制到实战性能调优 1. 理解BLE扫描的核心机制 在Android蓝牙低功耗(BLE)开发中,扫描机制是连接设备的第一步,也是最容易出现性能瓶颈的环节。与传统的蓝牙扫描不同࿰…...
Phi-4-mini-reasoning企业落地案例:集成至内部知识库的逻辑问答模块
Phi-4-mini-reasoning企业落地案例:集成至内部知识库的逻辑问答模块 1. 项目背景与需求 企业内部知识库系统通常面临一个共同挑战:员工在查找专业问题时,往往需要花费大量时间筛选信息,特别是涉及数学计算、逻辑推理等需要多步分…...
【手把手教学】Tesseract-OCR图片文字识别从安装到实战
1. Tesseract-OCR简介与安装准备 第一次接触图片文字识别技术时,我和很多人一样觉得这是个遥不可及的黑科技。直到发现了Tesseract-OCR这个开源工具,才发现原来OCR技术可以如此亲民。Tesseract最初由HP实验室开发,后来由Google接手维护&#…...
