一掂为、簡(jiǎn)介
上一篇提到了Python畫(huà)韋恩圖掖肋,不得不說(shuō)matplotlib_venn
庫(kù)繪制韋恩圖真的很方便油啤,配置簡(jiǎn)單色罚。但是窟扑,matplotlib_venn
庫(kù)不夠靈活,只支持兩組或者三組韋恩圖诽里。此外,還有一個(gè)問(wèn)題就是圈的大小不可直接調(diào)節(jié)谤狡。因?yàn)橛袝r(shí)候需要把圓圈的大小調(diào)節(jié)成一致,這樣看起來(lái)會(huì)協(xié)調(diào)一些墓懂。
pyvenn
基于matplotlib.patches二次開(kāi)發(fā)的開(kāi)源庫(kù),pyvenn支持2到6組數(shù)據(jù)捕仔。pyvenn
更加靈活多變,具有'venn2', 'venn3', 'venn4', 'venn5', 'venn6'五個(gè)函數(shù)盈罐。
二、準(zhǔn)備工作
pyvenn: 2 ~ 6 sets venn diagram for python (github.com)
- 使用git直接clone
git clone https://github.com/tctianchi/pyvenn.git
-
直接下載zip包
三钓葫、代碼實(shí)現(xiàn)
當(dāng)我們導(dǎo)入一個(gè)模塊時(shí),默認(rèn)情況下python解釋器會(huì)搜索當(dāng)前目錄础浮、已安裝的內(nèi)置模塊和第三方模塊,搜索路徑存放在sys模塊的path中奠骄。
如果模塊和.py不在同一個(gè)目錄下豆同,在腳本開(kāi)頭加sys.path.append('路徑')即可含鳞∮靶猓或者可以把第三方模塊放入已經(jīng)添加到系統(tǒng)環(huán)境變量的路徑內(nèi),環(huán)境變量的內(nèi)容會(huì)自動(dòng)添加到模塊搜索路徑中蝉绷。
import sys
sys.path.append(r'D:\work\python\pack\pyvenn')
import venn
labels = venn.get_labels([
range(9),
range(5, 15)
], fill=['number', 'logic'])
fig, ax = venn.venn2(labels, names=['A', 'B'])
fig.show()
venn2
fill參數(shù)有三個(gè)可選值鸭廷,
number
每個(gè)組的集合數(shù)值logic
每個(gè)組的標(biāo)識(shí)percent
#每個(gè)組分的百分比
import sys
sys.path.append(r'D:\work\python\pack\pyvenn')
import venn
labels = venn.get_labels([range(9),range(5, 15),range(8,16)], fill=['number', 'logic','percent'])
fig, ax = venn.venn3(labels, names=['A', 'B','C'],
fontsize=8,#控制組名及中間數(shù)字大小
dpi=72)
fig.show()
veen3.png
import sys
sys.path.append(r'D:\work\python\pack\pyvenn')
import venn
labels = venn.get_labels([range(10), range(5, 15), range(3, 8), range(8, 17)], fill=['number',
'logic',
'percent'
])
fig, ax = venn.venn4(labels, names=list('ABCD'))
fig.show()
venn4.png