美文网首页Python可视化
Pyhon开源包pyvenn绘制2-6组韦恩图

Pyhon开源包pyvenn绘制2-6组韦恩图

作者: Justin小贾同学 | 来源:发表于2021-06-25 07:00 被阅读0次

    Python画韦恩图

    一、简介

    上一篇提到了Python画韦恩图,不得不说matplotlib_venn库绘制韦恩图真的很方便,配置简单。但是,matplotlib_venn库不够灵活,只支持两组或者三组韦恩图。此外,还有一个问题就是圈的大小不可直接调节。因为有时候需要把圆圈的大小调节成一致,这样看起来会协调一些。

    pyvenn基于matplotlib.patches二次开发的开源库,pyvenn支持2到6组数据。pyvenn更加灵活多变,具有'venn2', 'venn3', 'venn4', 'venn5', 'venn6'五个函数。

    二、准备工作

    pyvenn: 2 ~ 6 sets venn diagram for python (github.com)

    1. 使用git直接clone
    git clone https://github.com/tctianchi/pyvenn.git
    
    1. 直接下载zip包


    三、代码实现

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

    如果模块和.py不在同一个目录下,在脚本开头加sys.path.append('路径')即可。或者可以把第三方模块放入已经添加到系统环境变量的路径内,环境变量的内容会自动添加到模块搜索路径中。

    import sys
    sys.path.append(r'D:\work\python\pack\pyvenn')
    import venn
    
    labels = venn.get_labels([
                range(9),
                range(5, 15)
            ], fill=['number', 'logic'])
    fig, ax = venn.venn2(labels, names=['A', 'B'])
    fig.show()
    
    venn2
    fill参数有三个可选值,
    number每个组的集合数值
    logic每个组的标识
    percent#每个组分的百分比
    import sys
    sys.path.append(r'D:\work\python\pack\pyvenn')
    import venn
    
    
    labels = venn.get_labels([range(9),range(5, 15),range(8,16)], fill=['number', 'logic','percent'])
    
    fig, ax = venn.venn3(labels, names=['A', 'B','C'],
                         fontsize=8,#控制组名及中间数字大小
                         dpi=72)
    fig.show()
    
    veen3.png
    import sys
    sys.path.append(r'D:\work\python\pack\pyvenn')
    import venn
    
    
    labels = venn.get_labels([range(10), range(5, 15), range(3, 8), range(8, 17)], fill=['number', 
                                                                                         'logic',
                                                                                         'percent'                                                                                     
                                                                                        ])
    fig, ax = venn.venn4(labels, names=list('ABCD'))
    fig.show()
    
    venn4.png

    更多例子,可参考https://github.com/tctianchi/pyvenn

    相关文章

      网友评论

        本文标题:Pyhon开源包pyvenn绘制2-6组韦恩图

        本文链接:https://www.haomeiwen.com/subject/rltnyltx.html