【问题标题】:Is it possible to display the venn diagram within a universal set?是否可以在通用集中显示维恩图?
【发布时间】:2019-02-09 06:15:32
【问题描述】:

是否可以使用 matplotlib-venn 显示通用集?我对 python 和 matplotlib 包都是新手,所以我实际上不确定什么是可能的,什么不是。

我正在尝试创建一个维恩图生成器,该生成器接受每个圆的值,然后是一个参数(例如 A 交点 B),然后仅突出显示两个圆的交点。基本上,这就是我想要的输出。

【问题讨论】:

    标签: python-3.x matplotlib-venn


    【解决方案1】:

    Python 有包 matplotlib_venn 但在你的情况下它需要一些技巧。

    import matplotlib.pyplot as plt
    from matplotlib_venn import venn3
    A = set([9,3,6])
    B = set([2,4,6,8])
    C = set([0,5,1,7])
    v = venn3([A,B,C], ('P', 'Q', 'U'))
    
    v.get_label_by_id('100').set_text('\n'.join(map(str,A-B)))
    v.get_label_by_id('110').set_text('\n'.join(map(str,A&B)))
    v.get_label_by_id('010').set_text('\n'.join(map(str,B-A)))
    v.get_label_by_id('001').set_text('\n'.join(map(str,C)))
    v.get_patch_by_id('001').set_color('white')
    plt.axis('on')
    plt.show()
    

    您可以使用 plt.annotate 来配置值的位置

    【讨论】:

    • 有没有办法给盒子或轴本身着色?我试图获得与提供的链接相同的结果。 venn
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多