包的安装

pip install matplotlib-venn

依赖于以下的包:

  • numpy
  • scipy
  • matplotlib

matplotlib-venn 主要用于绘制 two-circles 以及 three-circles 的文氏图。

使用

matplotlib-venn 包提供了四个主要的函数:venn2venn2-circlesvenn3venn3-circles

venn2venn2_circles接受一个3元素(Ab,aB,AB)构成的 tuple 作为各个子集所包含元素的个数(不是具体的元素):

  • Ab:包含A,但不包含B,即A中非B的部分,A∩¬BA\cap\neg B
  • aB:包含B,但不包含A,即B中非A,B∩¬AB\cap \neg A
  • AB:既包含A,又包含B,即A与B的交集,A∩BA\cap B
venn2(subsets=(3, 2, 1), set_labels=('A', 'B'))

或者直接指定各自子集所包含的元素内容:

venn2([set(['A', 'B', 'C', 'D']), set(['D', 'E', 'F'])])
import matplotlib.pyplot as plt
from matplotlib_venn import venn
plt.figure(figsize=(4, 4))
venn2(subsets(3, 2, 1))
plt.show()

图中的312分别表示各自子集的大小,而非集合中的元素内容;

v = venn2(subsets=(3, 0, 2), set_labels=('A', 'B'))# 构造一种包含关系
v.get_label_by_id('10').set_text('')
v.get_label_by_id('01').set_text('')
v.get_label_by_id('11').set_text('')# 或者设置任何你想设置的内容

类似地,venn3venn3_circles 接受一个7个元素构成的元组作为各个子集的大小(Abc, aBc, ABc, abC, AbC, aBC, ABC):

from matplotlib_venn import venn3
def int2bin(n):s = bin(n)[2:]return (3-len(s))*'0'+s# 1 ⇒ '001'# 2 ⇒ '010'# 3 ⇒ '011'# ...# 7 ⇒ '111'v = venn3(subsets=(1, 1, 1, 1, 1, 1, 1))
for i in range(1, 8):v.get_label_by_id(int2bin(i)).set_text(int2bin(i))
plt.show()

References

[1] matplotlib-venn 0.11.2

使用 matplotlib 绘制文氏图(venn)相关推荐

  1. tableau两个不同的图合并_举个栗子!Tableau技巧(59):学做两个集合的维恩图(文氏图)Venn diagram...

    我们常说的维恩图( Venn 图),学名叫:文氏图( Venn diagram ),又称温氏图.这种图表主要用于展示在不同的事物群组(集合)之间的数学或逻辑联系. 爱好篮球的数据粉们,可能看到过这样一 ...

  2. python matplotlib绘制gif动图以及保存

    python matplotlib绘制gif动图以及保存 标签: python matplotlib 谨以此文纪念我两天来的悲剧 昨天我用lstm拟合sin曲线,看到别人画的做的动图很好看,并且还能保 ...

  3. python 集合set 的三大方法intersection union difference来处理文氏图

    TODO - 练习:A或B,但不能同时包含 编写一个函数,将两个集合(set_a和set_b)作为输入,并返回一个新的集合,其中包含set_a或set_b中的元素,但不包含两者兼有的元素. 在上面的文 ...

  4. python matplotlib 绘制K线图(蜡烛图)

    python matplotlib 绘制K线图(蜡烛图) csv文件下载地址: 链接:https://pan.baidu.com/s/1EvDxEPuIS8zAseLRO1SDBQ 提取码:lb0t ...

  5. python画k线图_Python使用matplotlib绘制k线图(去掉空白日期)

    原标题:Python使用matplotlib绘制k线图(去掉空白日期) 之前研究过使用 matplotlib.finance 中的 candlestick_ohlc() 方法绘制k线图,但是有个很无语 ...

  6. python做实时温度曲线图_Python学习记录 - matplotlib绘制温度变化折线图

    Python学习记录 - matplotlib绘制温度变化折线图 Python学习记录 - matplotlib绘制温度变化折线图 题目:列表a表示10点到12点每一分钟的气温,累计为2个小时,绘制折 ...

  7. 用python画动态三维轨迹_Python学习(一) —— matplotlib绘制三维轨迹图

    在研究SLAM时常常需要对其输出的位姿进行复现以检测算法效果,在ubuntu系统中使用Python可以很好的完成相关的工作. 一. Ubuntu下Python的使用 在Ubuntu下使用Python有 ...

  8. Python+Matplotlib绘制动态爱心图

    函数FuncAnimation(fig,func,frames,init_func,interval,blit)是绘制动图的主要函数,其参数如下: a.fig 绘制动图的画布名称 b.func自定义动 ...

  9. 使用matplotlib绘制3D立方体图

    这个repo 用来记录一些python技巧.书籍.学习链接等,欢迎star github地址 使用matplotlib绘制3D立方体图(含两种样式) # -*- coding: utf-8 -*- # ...

  10. Matplotlib 绘制 双轴 图

    Matplotlib 绘制 双轴 图 创作背景 分析思路 总结 结尾 创作背景 最近本菜鸡想要画一个 双轴图 ,可是直接使用 plt.plot() 实现不了这个功能,无奈,菜嘛,所以只能去 Matpl ...

最新文章

  1. javascript的date对象
  2. 无人驾驶推进时间表及五大技术领域关键节点
  3. 神秘使者到 Java 帝国传道协程,竟被轰了出去!
  4. Virtools学习(七)—2D Picking
  5. how is group implemented for navigation list
  6. linux命令之history命令
  7. 漫步数理统计三十二——中心极限定理
  8. UI设计师,作品集该怎么做?场景展示样机更具专业性
  9. java重新连接tcp,如何处理TCP客户端丢弃和重新连接
  10. jquery事件绑定的几种用法
  11. Can‘t resolve ‘core-js NPM 引入 core js 失败 解决
  12. 用无线局域网设置服务器,无线局域网如何配置
  13. STEP2——《数据分析:企业的贤内助》重点摘要笔记(六)——数据描述
  14. 全球及中国隐形眼镜护理液行业消费规模及投资竞争力分析报告2021-2027年
  15. 数分下第4讲 (8.2节): 平面和直线
  16. 快递面单隐私保护教程
  17. 爬虫入门到放弃系列07:js混淆、eval加密、字体加密三大反爬技术
  18. java计算机毕业设计黑格伯爵国际英语贵族学校官网源码+mysql数据库+系统+lw文档+部署
  19. 在线HTML转XML工具
  20. 如何在Linux虚拟器里新建跟目录,虚拟机linux 6 增加根目录

热门文章

  1. CSS3 经典教程系列:CSS3 线性渐变(linear-gradient)
  2. 韩信点兵问题的神解法
  3. 广汽埃安发布新LOGO,推出全新高端品牌Hyper昊铂
  4. 3dmax2014卸载/安装失败/如何彻底卸载清除干净3dmax2014注册表和文件的方法
  5. vue2 配置本地IP地址访问项目
  6. L5 Limits and Continuity
  7. $.ajax在谷歌浏览器传入中文乱码的情况
  8. 泰坦尼克号幸存预测项目
  9. PIE-engine APP 教程 ——太湖生态环境智能监测系统
  10. 高等数学学习笔记——第五十四讲——向量的数量积、向量积和混合积