如何在python中用集合大小的百分比来标记Venn图?

2024-05-19 00:40:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用matplotlib_文氏2函数在一个图形中绘制四个不同的维恩图。在

我对函数的子集参数的输入是一组字符串:

    cse_set_ucb = set(['data science','algorithms', 'machine learning',...])

    ece_set_ucb = set(['circuits', 'signals', 'machine learning',....])

    v_ucb = venn2([cse_set_ucb,ece_set_ucb],set_labels=['CSE','ECE'],set_colors=['r','g'])

同样地,v_cla、v_ucsb和v_ucsd。在

当前结果:

enter image description here

然而,为了使比较更直观,我想显示Venn图中的百分比,而不是集合大小。是否可以通过venn2中的某些功能来实现?在

例如,第一个地块将替换为:

enter image description here

我现在唯一能想到的方法是自己进行规范化,然后将子集大小输入venn2函数,而不是集合,但我希望有一个更聪明的方法来实现这一点


Tags: 方法函数字符串图形参数matplotlib绘制machine
1条回答
网友
1楼 · 发布于 2024-05-19 00:40:21

有一个参数subset_label_formatter它控制使用函数打印的标签。在

total = len(set_a.union(set_b))
v1 = venn2([set_a,set_b],set_labels=labels_depts,set_colors=['red','green'],subset_label_formatter=lambda x: f"{(x/total):1.0%}")

enter image description here

参考号:

1)Percentages in venn diagrams

2)Add parameter to allow formatting of labels of subset sizes

相关问题 更多 >

    热门问题