用python绘制实际设置的项目,而不是项目数

用python绘制实际设置的项目,而不是项目数,python,matplotlib,Python,Matplotlib,我写了这个小函数: def sets(): set1 = random.sample(range(1, 50), 10) set2 = random.sample(range(1, 50), 10) return(set1,set2) sets() 此函数的输出如下所示: ([24, 29, 43, 42, 45, 28, 26, 3, 8, 21], [22, 37, 38, 44, 25, 42, 29, 7, 35, 9]) import matplotli

我写了这个小函数:

def sets():
    set1 = random.sample(range(1, 50), 10)
    set2 = random.sample(range(1, 50), 10)
    return(set1,set2)

sets()
此函数的输出如下所示:

([24, 29, 43, 42, 45, 28, 26, 3, 8, 21],
 [22, 37, 38, 44, 25, 42, 29, 7, 35, 9])
import matplotlib.pyplot as plt
from matplotlib_venn import venn2
import random

set1 = set(random.sample(range(1, 50), 10))
set2 = set(random.sample(range(1, 50), 10))
venn = venn2([set1,set2], ('Group A', 'Group B'))

venn.get_label_by_id('100').set_text('\n'.join(map(str,set1-set2)))
venn.get_label_by_id('110').set_text('\n'.join(map(str,set1&set2)))
venn.get_label_by_id('010').set_text('\n'.join(map(str,set2-set1)))
plt.axis('on')
plt.show()
我想画一个双向维恩图。我知道如何使用matplotlib绘制集合之间的重叠数,即使用精确代码;但是,我想在绘图中绘制实际值

i、 e.两者之间的重叠应为:29,42,因为这是两个共同的项目,而不是数字2,以表示重叠的数字数量


有人知道怎么做吗?

venn2软件包的默认行为是打印两组重叠的大小。下面是源代码的一行,其中这些大小被添加到Venn图中:

要打印重叠的数字,您必须更改此文件中的compute\u venn2\u subsets(a,b)函数。将compute\u venn2\u子集(a,b)的返回参数替换为:

([val for val in a if val not in b], [val for val in a if val in b], [val for val in b if val not in a])
而不是它现在返回的设置大小。如果您只想打印重叠列,则使计算子集(a,b)返回

("", [val for val in a if val in b], "")

一种可能的解决方案是输出标签,而不是设置大小。使用该软件包,您可以执行以下操作:

([24, 29, 43, 42, 45, 28, 26, 3, 8, 21],
 [22, 37, 38, 44, 25, 42, 29, 7, 35, 9])
import matplotlib.pyplot as plt
from matplotlib_venn import venn2
import random

set1 = set(random.sample(range(1, 50), 10))
set2 = set(random.sample(range(1, 50), 10))
venn = venn2([set1,set2], ('Group A', 'Group B'))

venn.get_label_by_id('100').set_text('\n'.join(map(str,set1-set2)))
venn.get_label_by_id('110').set_text('\n'.join(map(str,set1&set2)))
venn.get_label_by_id('010').set_text('\n'.join(map(str,set2-set1)))
plt.axis('on')
plt.show()
我们通过一个表示集合的二进制ID访问标签。