文氏图(英语:Venn diagram),或译Venn图、温氏图、维恩图、范氏图,是在所谓的
集合论(或者类的理论)数学分支中,在不太严格的意义下用以表示
集合(或
类)的一种草图。
它们用于展示在不同的事物群组(集合)之间的
数学或
逻辑联系,尤其适合用来表示集合(或)类之间的“大致关系”,它也常常被用来帮助推导(或理解推导过程)关于集合运算(或类运算)的一些规律。
John Venn 是
十九世纪英国的哲学家和数学家,他在 1881年发明了文氏图。在
剑桥大学的 Caius 学院的
彩色玻璃窗上有对他的这个发明的纪念。
在文氏图法中,如果有论域,则以一个矩形框(的内部区域)表示论域;各个集合(或类)就以圆/椭圆(的内部区域)来表示。两个圆/椭圆相交,其相交部分表示两个集合(或类)的公共元素,两个圆/椭圆不相交(相离或相切,而实际上在文氏图中相切是没有什么意义的,因为文氏图是以图形的内部区域来表示的)则说明这两个集合(或类)没有公共元素。
如图2所示,比如黄色的圆圈(集合A)可以表示两足的所有活物。蓝色的圆圈(集合B)可以表示会飞的所有活物。黄色和蓝色的圆圈交叠的区域(叫做
交集)包含会飞且两足的所有活物──比如鹦鹉。(把每个单独的活物类型想像为在这个图中的某个
点)。
集合A和B的组合区域叫做集合A和B的
并集。在这个个例中并集包含要么两足、要么会飞、要么两足并且会飞的所有东西。圆圈交叠暗示着两个集合的交集非空──就是说在事实上有活物同时在黄色和蓝色圆圈中。
有时在文氏图在外面绘制一个方框(叫做全集)来展示所有可能事物的空间。如上提及到的,鲸可以表示为不在并集中但在(活物或所有事物,依赖于你如何选择对特定图的全集的定义)全集中一个点。
欧拉图可能在外观上同文氏图是一致的。它们之间的区别只在于它们的应用领域中,就是说在被分割的全集的类型中。欧拉图展示对象的特定集合,文氏图的概念更一般的适用于可能的联系。文氏图和欧拉图没有合并的原因可能是,欧拉的版本是早在100多年前就出现了的,欧拉已经有了足够多的成就了,而Venn只留下了这么一个图。
在这个例子中,一个集合完全在另一个集合内部。我们说集合A是在世界中能找到的所有的不同类型的奶酪,集合B是在世界中能找到的所有食物。从这个图中,你可以看出所有奶酪都是食物,但是不是所有食物都是奶酪。进一步的说,集合C(比如说金属造物)与集合BA是集合B的真子集,而集合C和集合B
历来有许多把文氏图推广到多个集合的尝试。Venn使用椭圆达到了四个集合但从未满意他的五集合解法。在一个世纪之后,才找到了一种能满足Venn关于对称性的非正式要求。
在美国电视剧
生活大爆炸(The Big Bang Theory)S1E14中,Leonard不小心买下了巨型时光机,他纳闷道:谁会用800元就卖出一台全尺寸的时间机器? Sheldon回答:在文氏图中,那是位于“不再想要时间机器”和“需要800元”两个集合的交接区域。