Source code for magine.plotting.venn_diagram_maker

import matplotlib.pyplot as plt
from matplotlib_venn import venn2 as _venn2, venn3 as _venn3


[docs]def create_venn3(list1, list2, list3, label1, label2, label3, save_name=None, image_format='png', title=None, ax=None, colors=('g', 'r', 'b')): """ Creates a venn digram containing for 3 lists Parameters ---------- list1 : list_like list2 : list_like list3 : list_like label1 : str label2 : str label3 : str save_name : str image_format : str default png title: str ax : matplotlib.axes Returns ------- """ set1 = set(list1) set2 = set(list2) set3 = set(list3) if len(colors) != 3: raise Exception("Must provide a list of three colors") v = _venn3([set1, set2, set3], ('%s(%s)' % (label1, str(len(set1))), '%s(%s)' % (label2, str(len(set2))), '%s(%s)' % (label3, str(len(set3)))), set_colors=colors, ax=ax) plt.tight_layout() if title is not None: plt.title(title) if save_name is not None: save_name = "{}.{}".format(save_name, image_format) plt.savefig(save_name, bbox_inches='tight') return v
[docs]def create_venn2(list1, list2, label1, label2, save_name=None, title=None, image_format='png', ax=None): """Creates a venn digram containing for 2 lists Parameters ---------- list1 : list_like list2 : list_like label1 : str label2 : str save_name : str title : str image_format : str, optional default png ax : matplotlib.axes Returns ------- """ set1 = set(list1) set2 = set(list2) v = _venn2([set1, set2], ('%s(%s)' % (label1, str(len(set1))), '%s(%s)' % (label2, str(len(set2))),), ax=ax) plt.tight_layout() if title is not None: plt.title(title) if save_name is not None: save_name = "{}.{}".format(save_name, image_format) plt.savefig(save_name, bbox_inches='tight') return v