Python Matplotlib 维恩图

作者:编程家 分类: python 时间:2025-11-12

使用Python Matplotlib绘制维恩图(Venn Diagram)是一种直观展示集合之间关系的方法。维恩图由苏格兰数学家约翰·维恩于1880年提出,适用于展示两个或多个集合之间的交集、并集和差集关系。

维恩图的基本概念

维恩图由多个圆形区域组成,每个区域代表一个集合。维恩图的圆形区域之间的重叠部分表示不同集合之间的关系。维恩图通常用于展示集合的交集、并集和差集,帮助我们更好地理解和分析数据。

维恩图的绘制

要使用Python Matplotlib绘制维恩图,我们可以使用venn模块。首先,需要导入venn模块中的venn2函数或venn3函数,具体取决于要展示的集合数量。

下面是一个绘制两个集合的维恩图的例子:

python

from matplotlib_venn import venn2

import matplotlib.pyplot as plt

# 创建两个集合的列表

set1 = {1, 2, 3, 4, 5}

set2 = {4, 5, 6, 7, 8}

# 绘制维恩图

venn2([set1, set2], set_labels=('Set 1', 'Set 2'))

# 显示图形

plt.show()

维恩图的解读

上述代码中,我们创建了两个集合set1和set2,并使用venn2函数绘制了对应的维恩图。维恩图中的每个圆形区域表示一个集合,圆形区域之间的重叠部分表示集合之间的交集。通过维恩图,我们可以直观地看出set1和set2之间的交集、并集和差集关系。

更复杂的维恩图

除了绘制两个集合的维恩图,venn模块还支持绘制三个或多个集合的维恩图。使用venn3函数可以绘制三个集合的维恩图,使用venn2或venn3函数的参数列表可以传入更多的集合。

下面是一个绘制三个集合的维恩图的例子:

python

from matplotlib_venn import venn3

import matplotlib.pyplot as plt

# 创建三个集合的列表

set1 = {1, 2, 3, 4, 5}

set2 = {4, 5, 6, 7, 8}

set3 = {5, 6, 7, 8, 9}

# 绘制维恩图

venn3([set1, set2, set3], set_labels=('Set 1', 'Set 2', 'Set 3'))

# 显示图形

plt.show()

维恩图是一种直观展示集合之间关系的图形,可以帮助我们更好地理解和分析数据。通过Python Matplotlib库中的venn模块,我们可以轻松地绘制维恩图。通过维恩图,我们可以清晰地看出集合之间的交集、并集和差集关系,从而更好地进行数据分析和决策。