我使用Matplotlib_venn包来生成几个Venn图,表示三个不同集合的重叠(因此使用Venn3)。
当我使用plt.show()并创建Venn图时,显示在每个圆的每个部分内部的数字是集合中一个元素满足重叠要求的次数。我明白了。
我的问题是:是否有一种方法来代替显示这个基数,而是显示这些圆圈中存在的集合元素?我想这会让大集合变得非常混乱,但是你能不能用三个集合,每个集合中包含的元素都少于5个?如果是的话,我会怎样做呢?
发布于 2019-01-31 16:03:26
我想我只需要用.get_label_by_id().set_text()来做它,因为只有几个项目,正如你说的。
首先,让我们获取Venn图中每个区域的所有标签:
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']
for label in labels:
v.get_label_by_id(label).set_text(label)这将给你:

如果要在标有100的区域中显示项目(例如,a、b、c、d),可以使用以下代码:
v.get_label_by_id('100').set_text('a, b, c, d')

https://stackoverflow.com/questions/51052573
复制相似问题