NB: The code in this notebook is invoked from within the functional_test.py test suite.
In [1]:
from matplotlib_venn import venn2
from tests.utils import verify_diagram
In [2]:
# The "usual" case
v = venn2((1, 1, 1))
test_points = {'11': [(0, 0), (-0.2, 0), (0.2, 0), (0, 0.3), (0, -0.3)],
'10': [(-0.4, 0), (-0.6, 0), (-0.4, 0.3), (-0.4, -0.3), (-0.2, 0.3), (-0.2, -0.3)],
'01': [(0.4, 0), (0.6, 0), (0.4, 0.3), (0.4, -0.3), (0.2, 0.3), (0.2, -0.3)]}
verify_diagram(v, test_points)
In [3]:
# The 0-0-0 case
v = venn2((0, 0, 0))
test_points = {'11': None,
'10': [v.centers[0,:]],
'01': [v.centers[1,:]]}
verify_diagram(v, test_points)
In [4]:
# The intersection-only case
v = venn2((0, 0, 1))
test_points = {'10': [], '01': [],
'11': [(i*0.25, 0) for i in range(-2, 3)] + [(0, i*0.25) for i in range(-2, 3)]}
verify_diagram(v, test_points)
In [5]:
# The one set-only case
v = venn2((0, 1, 0))
test_points = {'10': [v.centers[0,:]], '11': None,
'01': [(i*0.25, 0) for i in range(-2, 3)] + [(0, i*0.25) for i in range(-2, 3)],
'': [(-0.7, 0)]}
verify_diagram(v, test_points)
In [6]:
# Same as above, reversed
v = venn2((1, 0, 0))
test_points = {'01': [v.centers[1,:]], '11': None,
'10': [(i*0.25, 0) for i in range(-2, 3)] + [(0, i*0.25) for i in range(-2, 3)],
'': [(0.7, 0)]}
verify_diagram(v, test_points)
In [7]:
# One set completely inside the other
v = venn2((0, 1, 1))
test_points = {'10': [],
'11': [(-0.5, 0), (-0.25, 0), (0, 0), (0.25, 0), (-0.25, 0.3), (-0.25, -0.3), (0, -0.3), (0, 0.3)],
'01': [(0.3, 0), (0.5, 0), (0, 0.5), (0, -0.5), (0.25, 0.3), (0.25, -0.3)],
'': [(-0.6, 0), (0.7, 0)]}
verify_diagram(v, test_points)
In [8]:
# Same as above, reversed
v = venn2((1, 0, 1))
test_points = {'01': [],
'11': [(0.5, 0), (0.25, 0), (0, 0), (-0.25, 0), (0.25, 0.3), (0.25, -0.3), (0, -0.3), (0, 0.3)],
'10': [(-0.3, 0), (-0.5, 0), (0, 0.5), (0, -0.5), (-0.25, 0.3), (-0.25, -0.3)],
'': [(0.6, 0), (-0.7, 0)]}
verify_diagram(v, test_points)
In [9]:
# Two separate sets
v = venn2((1, 1, 0))
test_points = {'10': [(-0.3, 0), (-0.6, 0), (-0.9, 0), (-0.6, 0.3), (-0.6, -0.3)],
'11': None,
'01': [(0.3, 0), (0.6, 0), (0.9, 0), (0.6, 0.3), (0.6, -0.3)],
'': [(0, 0), (-1.1, 0), (1.1, 0)]}
verify_diagram(v, test_points)