Python Matplotlib Venn diagramme

je veux tracer les variables appartenant à certains groupes.

disons que j'ai 6 variables que je veux trier dans ces 3 groupes et tracer comme un diagramme de venn. J'aimerais annoter les noms des variables dans les trois bulles.

Dans cet exemple simple, nous pourrions dire que la variable 1 fait partie du Groupe 1, que la variable 3 fait partie du groupe 2 et que la variable 2 fait partie du groupe 3.

quelqu'un Pourrait-il m'aider avec un exemple simple de la façon de le faire dans matplotlib?

25
demandé sur tdube 2013-11-07 20:38:21

1 réponses

Il y a un beau diagramme de Venn add-on pour matplotlib appelé matplotlib-venn. On dirait qu'il peut être complètement personnalisé pour faire ce que vous recherchez, à partir de la taille des cercles (proportionnelle à la taille de l'ensemble), d'étiquettes intérieure et extérieure.

en utilisant le code d'exemple sur le site web donne un tracé comme:

enter image description here

Edit: selon les commentaires ci-dessous le code suivant donne des cercles ne se chevauchant pas avec texte utilisant la même bibliothèque:

import pylab as plt
from matplotlib_venn import venn3, venn3_circles

v = venn3(subsets=(1,1,0,1,0,0,0))
v.get_label_by_id('100').set_text('First')
v.get_label_by_id('010').set_text('Second')
v.get_label_by_id('001').set_text('Third')
plt.title("Not a Venn diagram")
plt.show()

donne le diagramme:

enter image description here

41
répondu Hooked 2013-11-07 17:01:48