gpt4 book ai didi

python - 在 python 中绘制实际设置的项目,而不是项目的数量

转载 作者:太空宇宙 更新时间:2023-11-04 09:31:08 25 4
gpt4 key购买 nike

我写了这个小函数:

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])

我想用双向维恩图来绘制它。我知道如何使用 matplotlib 绘制集合之间重叠的数量,即使用 this确切的代码;但是我想在图中绘制实际值。

即两者之间的重叠应为:29,42,因为这是两个共同项,而不是数字 2,以表示重叠的数字数。

有人知道怎么做吗?

最佳答案

一个可能的解决方案是输出标签而不是设置的大小。随着matplotlib_venn包,你可以这样做:

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 访问标签,二进制 ID 表示集合。 enter image description here

关于python - 在 python 中绘制实际设置的项目,而不是项目的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55717203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com