2017-09-01 406 views
1

我有兩個用matplotlib-venn庫創建的維恩圖,它們共享至少一組。我希望兩者的圓圈大小相同,因此它們具有可比性。我也想改變標籤字體的大小,但我不明白如何從matplotlib-venn函數中獲取它。我怎麼能這樣做?用matplotlib-venn在維恩圖上設置圈大小和標籤大小

套的例子可能是這樣的:

from matplotlib_venn import venn3 

s1=set('abracadabra') 
s2=set('alakazam') 
s3=set('stackoverflow') 
s4=set('hocus pocus') 
v_test1=venn3([s1,s2,s3],('set1','set2','set3')) 
v_test1=venn3([s1,s3,s4],('set1','set3','set4')) 

回答

0

當你調用venn3函數調用它solve_venn3_circles計算中心和圓的半徑。這意味着你不能自己設置半徑,因爲它會影響最終圖像並且可能不正確。不過,您可以嘗試通過normalize_to參數venn3函數調整您的圈子大小。通過ID

for t in v_test1.set_labels: t.set_fontsize(22) 
for t in v_test1.subset_labels: t.set_fontsize(20) 

或者設置字體大小:

對於字體大小,你可以使用此代碼

label = v_test1.get_label_by_id('111')   
label.set_fontsize(22) 

對於ID信息查找manual page

+0

謝謝!它工作,雖然我使用'plt.savefig()'保存它時完全裁剪掉了標籤,如果我先使用'plt.tight_layout()',則更糟糕 – Nabla