局部整体(二)利用python绘制维恩图
维恩图( Venn Diagram)简介
维恩图显示集与集之间所有可能存在的逻辑关系,每个集通常以一个圆圈表示,每个集都是一组具有共同之处的物件或数据。当多个圆圈(集)相互重迭时,称为交集 (intersection),里面的数据同时具有重迭集中的所有属性。可以直观的寻找集合的共同点和差异点,缺点是集合过多(超过4个)就会显得杂乱不美观。
快速绘制
-
基于matplotlib_venn
import matplotlib.pyplot as plt from matplotlib_venn import venn2 # 利用venn2快速创建2组 venn2(subsets = (10, 5, 2), set_labels = ('Group A', 'Group B')) plt.show()
定制多样化的维恩图
自定义维恩图一般是结合使用场景对相关参数进行修改,并辅以其他的绘图知识。参数信息可以通过官网进行查看,其他的绘图知识则更多来源于实战经验,大家不妨将接下来的绘图作为一种学习经验,以便于日后总结。
关于matplotlib_venn的更多用法可参考matplotlib-venn
-
利用venn3快速创建3组
各位置的含义
1:仅包含集合1的区域的大小
2:仅包含集合2的区域的大小
3:集合1和集合2的交集区域的大小
4:仅包含集合3的区域的大小
5:集合1和集合3的交集区域的大小
6:集合2和集合3的交集区域的大小
7:集合1,集合2和集合3的交集区域的大小
import matplotlib.pyplot as plt from matplotlib_venn import venn3 # 利用venn3快速创建3组 venn3(subsets = (10, 8, 22, 6,9,4,2)) plt.show()
-
输入集合直接绘制
import matplotlib.pyplot as plt from matplotlib_venn import venn3 set1 = set([1, 2, 3, 4, 5]) set2 = set([4, 5, 6, 7]) set3 = set([5, 6, 7, 8, 9]) # 利用venn3快速创建3组-输入集合 venn3(subsets = [set1, set2, set3], set_labels = ('set1', 'set2', 'set3'