使用 matplotlib-venn 在维恩图上设置圆圈大小和标签大小
set circle size and label size on venn diagram with matplotlib-venn
我有几个不同的维恩图是用 matplotlib-venn 库创建的,它们至少共享一组。我希望该组的圆在两者上都具有相同的大小,因此它们具有可比性。我还想更改标签字体的大小,但我还不知道如何从 matplotlib-venn 函数中获取它。我该怎么做?
集合的示例可能是这样的:
from matplotlib_venn import venn3
s1=set('abracadabra')
s2=set('alakazam')
s3=set('Whosebug')
s4=set('hocus pocus')
v_test1=venn3([s1,s2,s3],('set1','set2','set3'))
v_test1=venn3([s1,s3,s4],('set1','set3','set4'))
当您调用 venn3
函数时,它会调用 solve_venn3_circles
来计算圆心和半径。这意味着您不能自己设置半径,因为它会影响最终图像并且可能不正确。但是,您可以尝试通过 venn3
函数的 normalize_to
参数来调整圈子的大小。
对于字体大小,您可以使用此代码:
for t in v_test1.set_labels: t.set_fontsize(22)
for t in v_test1.subset_labels: t.set_fontsize(20)
或通过id设置字体大小:
label = v_test1.get_label_by_id('111')
label.set_fontsize(22)
有关 ID 信息,请查找 manual page。
我有几个不同的维恩图是用 matplotlib-venn 库创建的,它们至少共享一组。我希望该组的圆在两者上都具有相同的大小,因此它们具有可比性。我还想更改标签字体的大小,但我还不知道如何从 matplotlib-venn 函数中获取它。我该怎么做?
集合的示例可能是这样的:
from matplotlib_venn import venn3
s1=set('abracadabra')
s2=set('alakazam')
s3=set('Whosebug')
s4=set('hocus pocus')
v_test1=venn3([s1,s2,s3],('set1','set2','set3'))
v_test1=venn3([s1,s3,s4],('set1','set3','set4'))
当您调用 venn3
函数时,它会调用 solve_venn3_circles
来计算圆心和半径。这意味着您不能自己设置半径,因为它会影响最终图像并且可能不正确。但是,您可以尝试通过 venn3
函数的 normalize_to
参数来调整圈子的大小。
对于字体大小,您可以使用此代码:
for t in v_test1.set_labels: t.set_fontsize(22)
for t in v_test1.subset_labels: t.set_fontsize(20)
或通过id设置字体大小:
label = v_test1.get_label_by_id('111')
label.set_fontsize(22)
有关 ID 信息,请查找 manual page。