26 lines
965 B
Python
26 lines
965 B
Python
from matplotlib import pyplot as plt
|
|
from matplotlib_venn import venn3
|
|
|
|
# Drei Mengen definieren
|
|
A = set([1, 2, 3, 4, 5])
|
|
B = set([4, 5, 6, 7, 8])
|
|
C = set([2, 5, 7, 9])
|
|
|
|
venn = venn3([A, B, C], set_labels=('Menge A', 'Menge B', 'Menge C'))
|
|
|
|
# Hilfsfunktion: Menge schön als Text ausgeben
|
|
def fmt(s):
|
|
return "\n".join(map(str, s)) if s else ""
|
|
|
|
# Labels mit tatsächlichen Elementen überschreiben
|
|
venn.get_label_by_id('100').set_text(fmt(A - B - C)) # nur A
|
|
venn.get_label_by_id('010').set_text(fmt(B - A - C)) # nur B
|
|
venn.get_label_by_id('001').set_text(fmt(C - A - B)) # nur C
|
|
venn.get_label_by_id('110').set_text(fmt(A & B - C)) # A ∩ B
|
|
venn.get_label_by_id('101').set_text(fmt(A & C - B)) # A ∩ C
|
|
venn.get_label_by_id('011').set_text(fmt(B & C - A)) # B ∩ C
|
|
venn.get_label_by_id('111').set_text(fmt(A & B & C)) # A ∩ B ∩ C
|
|
|
|
plt.title("Venn-Diagramm mit allen Elementen")
|
|
plt.show()
|