gpt4 book ai didi

python - 如何在 python 中用集合大小的百分比标记维恩图?

转载 作者:太空宇宙 更新时间:2023-11-04 00:07:48 26 4
gpt4 key购买 nike

我正在使用 matplotlib_venn.venn2 函数在一个图中绘制四个不同的维恩图。

我为函数的子集参数输入的是字符串集:

    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_ucla、v_ucsb 和 v_ucsd 也是如此。

当前结果:

enter image description here

但是,为了使比较更直观,我想显示维恩图内的百分比 而不是集合大小。是否可以通过 venn2 中的某些功能来做到这一点?

例如,第一个图将替换为:

enter image description here

我现在能想到的唯一选择是以某种方式自己进行归一化,然后将子集大小而不是集合提供给 venn2 函数,但我希望有一种更聪明的方法来做到这一点

最佳答案

有一个参数 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

关于python - 如何在 python 中用集合大小的百分比标记维恩图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53463993/

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