我正在使用Matplotlib_venn软件包制作一些维恩图,以表示三个不同集合的重叠(因此使用Venn3)。
当我使用plt.show()
并创建维恩图时,显示在每个圆的每个部分内部的数字是集合中元素满足重叠要求的次数。我明白了。
我的问题是:有没有办法显示这些基数中存在的集合元素,而不是显示基数?我想这对于大型集合会真的很混乱,但是您可以说三个集合中每个集合都包含少于5个元素吗?如果是这样,我该怎么办?
答案 0 :(得分:1)
我想我得使用.get_label_by_id().set_text()
做到这一点,因为像你说的,只有少数项目。
首先,让我们获得维恩图中每个区域的所有标签:
from matplotlib_venn import venn3
subsets=(1, 1, 0.2, 1, 0.2, 0.2, 0.1)
v = venn3(subsets=subsets)
labels = ['100', '101', '110', '010', '001', '011', '111']
[v.get_label_by_id(label).set_text(label) for label in labels]
这将为您提供:
如果要在标记为100
的区域中显示项目(例如a,b,c,d),则可以使用以下代码:
v.get_label_by_id('100').set_text('a, b, c, d')