使用python繪製韋恩圖
下載
easy_install matplotlib-venn
韋恩圖依賴於以下的包:
- numpy
- scipy
- matplotlib
使用
matplotlib-venn 包提供了四個主要的函數:venn2、venn2-circles、venn3 和 venn3-circles。
venn2和venn2_circles接受一個3元素(Ab,aB,AB)構成的 tuple 作爲各個子集所包含元素的個數(不是具體的元素):
Ab:包含A,但不包含B,即A中非B的部分,A∩¬BA∩¬B aB:包含B,但不包含A,即B中非A,B∩¬AB∩¬A AB:既包含A,又包含B,即A與B的交集,A∩B
from matplotlib_venn import venn2, venn2_circles venn2(subsets=(3, 2, 1), set_labels=('A', 'B')) venn2([set(['A', 'B', 'C', 'D']), set(['D', 'E', 'F'])])
venn3的繪製方法有一點區別,首先需要熟悉韋恩圖各個圓圈的位置或者是代稱,如三者的交集,當需要更改這個圓圈的顏色或者字體時,需要使用111。
通過下面的代碼我們成功繪製了一個三個數據集的交集
或者說,你直接輸入交集的數字直接畫圖。
from matplotlib import pyplot as plt import numpy as np from matplotlib_venn import venn3, venn3_circles plt.figure(figsize=(4,4)) v = venn3(subsets=(2307,382,1409,333,556,120,4774),set_labels = ('A', 'B', 'C')) plt.show()
該包的官方網址:https://pypi.org/project/matplotlib-venn/ 該包的github地址:https://github.com/konstantint/matplotlib-venn/tree/master/tests