用法

包提供四个主要功能:venn2,

venn2_circles、venn3和venn3_circles。

函数venn2和venn2_circles只接受它们

必需参数子集大小的3元素列表(Ab, aB, AB),

例如:venn2(subsets = (3, 2, 1))

并画出一个两个圆的区域区域文氏图。在

特定的例子,对应于子集A and

not B的区域在面积上比区域大三倍,

对应于子集A and B。或者,你可以简单地

请提供两个set或Counter(即多个集合)对象的列表(0.7版中的新对象)。

例如:venn2([set(['A', 'B', 'C', 'D']), set(['D', 'E', 'F'])])

类似地,函数venn3和venn3_circles采用

子集大小(Abc, aBc, ABc, abC, AbC, aBC,

ABC)的7元素列表,并绘制一个三圆区域加权venn

图表。或者,您可以提供三个set或Counter对象的列表

(而不是计算所有7个子集的大小)。

函数venn2_circles和venn3_circles只绘制

圆,而函数venn2和venn3则绘制

图表作为彩色补丁的集合,用文本注释

标签。此外(版本0.7+),函数venn2_unweighted和

venn3_unweighted绘制不带区域权重的维恩图。

注意,对于三圆维恩图,它不是一般的

可能实现所需集合之间的精确对应

但是在大多数情况下,图片仍然是

提供一个像样的指示。

函数venn2_circles和venn3_circles返回可以进一步优化的matplotlib.patch.Circle对象列表

你喜欢的。函数venn2和venn3返回类VennDiagram的对象,

它允许访问组成修补程序、文本元素和

版本0.7)关于中心和半径的信息

圈子。

基本示例:from matplotlib_venn import venn2

venn2(subsets = (3, 2, 1))

对于三个圆的情况:from matplotlib_venn import venn3

venn3(subsets = (1, 1, 1, 2, 1, 2, 2), set_labels = ('Set1', 'Set2', 'Set3'))

更详细的示例:from matplotlib import pyplot as plt

import numpy as np

from matplotlib_venn import venn3, venn3_circles

plt.figure(figsize=(4,4))

v = venn3(subsets=(1, 1, 1, 1, 1, 1, 1), set_labels = ('A', 'B', 'C'))

v.get_patch_by_id('100').set_alpha(1.0)

v.get_patch_by_id('100').set_color('white')

v.get_label_by_id('100').set_text('Unknown')

v.get_label_by_id('A').set_text('Set "A"')

c = venn3_circles(subsets=(1, 1, 1, 1, 1, 1, 1), linestyle='dashed')

c[0].set_lw(1.0)

c[0].set_ls('dotted')

plt.title("Sample Venn diagram")

plt.annotate('Unknown set', xy=v.get_label_by_id('100').get_position() - np.array([0, 0.05]), xytext=(-70,-70),

ha='center', textcoords='offset points', bbox=dict(boxstyle='round,pad=0.5', fc='gray', alpha=0.1),

arrowprops=dict(arrowstyle='->', connectionstyle='arc3,rad=0.5',color='gray'))

plt.show()

具有多个子块的示例(0.6版中的新功能):from matplotlib_venn import venn2, venn2_circles

figure, axes = plt.subplots(2, 2)

venn2(subsets={'10': 1, '01': 1, '11': 1}, set_labels = ('A', 'B'), ax=axes[0][0])

venn2_circles((1, 2, 3), ax=axes[0][1])

venn3(subsets=(1, 1, 1, 1, 1, 1, 1), set_labels = ('A', 'B', 'C'), ax=axes[1][0])

venn3_circles({'001': 10, '100': 20, '010': 21, '110': 13, '011': 14}, ax=axes[1][1])

plt.show()

也许最常见的用例是生成给定的venn图

三组对象:set1 = set(['A', 'B', 'C', 'D'])

set2 = set(['B', 'C', 'D', 'E'])

set3 = set(['C', 'D',' E', 'F', 'G'])

venn3([set1, set2, set3], ('Set1', 'Set2', 'Set3'))

plt.show()

python matplotlib包_Python matplotlib-venn包_程序模块 - PyPI - Python中文网相关推荐

  1. python下载matplotlib.finance模块_Python pyfinance包_程序模块 - PyPI - Python中文网

    PyFinance pyfinance是一个python包,用于投资管理和安全回报分析. 它是对面向量化金融的现有软件包的补充,例如pyfolio, 熊猫数据读取器,以及fecon235 支持巨蟒3. ...

  2. python queue模块安装_Python queue包_程序模块 - PyPI - Python中文网

    沃特?另一个消息队列? 考虑到消息队列的激增,人们可能倾向于相信 发明更多不是答案.使用现有的解决方案是 多次尝试与大多数现有的消息队列产品. 其他的失败(对于我们的用例). queuey是用来处理大 ...

  3. python使用pkg包_Python deb-pkg-tools包_程序模块 - PyPI - Python中文网

    python包deb-pkg-tools是要构建和 检查Debian binary packages和二进制包的存储库.它的 主要用例是自动化构建. 一些功能在命令行界面中公开(如下所述) 因为在sh ...

  4. python迅雷sdk_Python anthunder包_程序模块 - PyPI - Python中文网

    安敦达(又名沙发螺栓Python) anthunder(ant thunder)是一个用python编写的沙发螺栓库. 它支持通过"sofa bolt+protobuf"协议调用r ...

  5. python pip gpl_Python PICOS包_程序模块 - PyPI - Python中文网

    圆锥优化解算器的python接口 picos是一个用户友好的python api,可用于多个圆锥和整数编程. 解算器,非常像YALMIP或 CVX在MATLAB下面. picos允许您以高级别输入数学 ...

  6. python cmd下载模块_Python cmd包_程序模块 - PyPI - Python中文网

    CMDY 从python运行命令的一个方便的包 安装# latest version pip install git+https://github.com/pwwang/cmdy # released ...

  7. python renamer模块_Python smart-image-renamer包_程序模块 - PyPI - Python中文网

    使用包含在中的exif数据智能地批量重命名图像的脚本 安装 要安装智能图像重命名程序: 推荐的方法是通过pip.pip install smart-image-renamer 否则像其他python包 ...

  8. python ssh登陆模块_Python sshh包_程序模块 - PyPI - Python中文网

    sshh是一个ssh帮助工具,用于在ssh代理中批量注册ssh私钥. sshh的主要目的是避免在 在ssh代理中注册的密钥数超过一定数量.当 当服务器设置私钥上限时,超过了密钥尝试的上限 严格的尝试. ...

  9. python app开发模块_Python pytkapp包_程序模块 - PyPI - Python中文网

    用于开发应用程序的python包 多文档/单文档界面 利用tkinter库和附加tkinter集 小部件. 查看可用演示: pytkapp/demo/run_ptapoptionsdemo.py-为选 ...

最新文章

  1. R语言data.table进行滚动数据连接,滚动连接通常用于分析涉及时间的数据(例如商业销售活动和对应的广告投放的安排之之间的关系)实战:实战和动画说明滚动数据连接的形式及方法
  2. gdb coredump
  3. [密码学] 公钥密码基础与RSA
  4. 31312312312iiiii
  5. C++中,引用作为函数参数
  6. Linux 系统应用编程——进程间通信(上)
  7. react同步请求_React中setState同步更新策略
  8. 为什么要 conda 作用_武汉精神堡垒有什么作用 为什么要做?
  9. 入职地府后我成了人生赢家_拿年终奖前跳槽,你才是赢家
  10. 数组指定位置添加元素_访问数组的任意位置元素的性能真的一样?
  11. 红帽20亿美元强劲收入的背后,让开源成为主流
  12. Linux yum软件仓库配置,linux配置软件仓库 、 yum管理应用软件 、 快速部署Web/FTP...
  13. 在Python数据库连接池中如何创建请求连接的方案
  14. VB6 mysql二进制读取,vb6关于VB以二进制(binary)方式读取文本内容
  15. c语言中双引号是什么作用,C语言中单引号与双引号的区别
  16. 可汗学院公开课: 统计学_1 统计学基本知识、二项及泊松分布
  17. 2018——走过的路
  18. 怎么下载b站的弹幕(danmuku)
  19. 微信缓存dat怎么转图片_微信dat文件转换为图片
  20. 关于ubuntu浏览器模糊不清的解决方法

热门文章

  1. 人活着的意义__2014思想篇
  2. python如何设置画布开始位置_Python绘图篇——Turtle库详解(一)
  3. POCO库学习教程(一) windows POCO库编译(64位)
  4. [DirectX12学习笔记] 环境光遮蔽
  5. python3GUI--实用!B站视频下载工具(附源码)
  6. mediasoup transport dtls
  7. html鼠标悬停弹出,纯css实现鼠标滑过弹出层效果
  8. 百度品牌全知道html,史上最全!百度SEM系数大合辑,我不信你都知道~~
  9. oracle join 优化询,oracle中优化left join的工作心得
  10. R语言基本介绍 | 数据科学、Rstudio介绍、快捷键操作、R代码常见命令、数据类型、示例代码等等