matplotlib-venn とは

matplotlib においてベン図を書くためのライブラリ。

使い方

pip install matplotlib-venn

基本機能

from matplotlib import pyplot as plt
from matplotlib_venn import venn2, venn2_circles, venn2_unweighted

venn2(
	subsets=(200, 100, 300),
	set_labels=('Group A', 'Group B')
)
plt.title('Venn Diagram')
plt.show()

from matplotlib import pyplot as plt
from matplotlib_venn import venn3, venn3_circles, venn3_unweighted

venn3(
	subsets=(200, 100, 300, 50, 80, 100, 20),
	set_labels=('Group A', 'Group B', 'Group C')
)
plt.title('Venn Diagram')
plt.show()

Figure_1

カスタマイズ

背景色・透過度

venn2(
	subsets=(200, 100, 300),
	set_labels=('Group A', 'Group B'),
	set_colors=('blue', 'red'),  # 背景色
	alpha=0.7                    # 透過度
)
plt.title('Change colors & alpha')
plt.show()

Figure_1

サイズによって円の大きさを変えない

venn2_unweighted(
	subsets = (100, 10, 1),
	set_labels = ('Group A', 'Group B')
)
plt.title('venn2_unweighted')
plt.show()

Figure_2

色を塗らず境界線だけを書く

venn2_circles(
	subsets = (200, 100, 300),
	linestyle='dashed',         # 線の種類(デフォルトは実線)
	linewidth=2                 # 線の太さ
)
plt.title('venn2_circles')
plt.show()

Figure_3

円ごとに境界線の太さを変える

v = venn2_circles(
	subsets = (200, 100, 300)
)
v[0].set_lw(2)
v[1].set_lw(4)
plt.show()

Figure_1