Visualiser les intersections de nombreux ensembles

30

Existe-t-il un modèle de visualisation permettant de montrer le chevauchement d'intersections de nombreux ensembles?

Je pense à quelque chose comme les diagrammes de Venn, mais cela pourrait se prêter d'une manière ou d'une autre à un plus grand nombre d'ensembles tels que 10 ou plus. Wikipédia montre des diagrammes Venn définis plus élevés, mais même les 4 diagrammes définis sont beaucoup à prendre.

Je suppose que le résultat final des données serait que la plupart des ensembles ne se chevaucheraient pas, il est donc possible que les diagrammes de Venn soient corrects - mais je voudrais trouver un outil informatique qui sera capable de générer cela. Il me semble que les graphiques Google ne permettent pas autant d'ensembles.

Kyle Brandt
la source
1
Liés, mais pour un petit nombre d'ensembles (pour référence): stats.stackexchange.com/questions/4211/…

Réponses:

18

Lorsque vous avez un grand nombre d'ensembles, j'essaye quelque chose de plus linéaire et qui montre les liens directement (comme un graphique de réseau). Flare et Protovis ont tous deux des utilitaires pour gérer ces visualisations.

Voir cette question pour quelques exemples comme celui-ci:

texte alternatif

Shane
la source
(+1) Belle réponse! - J'aime particulièrement les graphismes. Je me demandais s'il y avait un moyen de faire ça dans R?
suncoolsu
1
Je ne connais aucun moyen de le faire; mon package webvis fournit un wrapper pour Protovis, mais ce serait beaucoup de travail de le faire faire ce graphique. Soit dit en passant
Shane
1
@suncoolsu, le diagramme du package R peut être capable de faire le même "diagramme d'arc" que Shane a indiqué. Il semble cependant que ce serait difficile de faire en sorte que le "Web de l'intrigue" ressemble au visuel ci-dessus. cran.r-project.org/web/packages/diagram/vignettes/diagram.pdf .
Andy W
et Andy. Merci pour vos réponses. @Shane, j'ai vu votre paquet webvis. Mais je dois encore l'explorer davantage. J'aime beaucoup les graphiques protovis. Ils ont un excellent site Web.
suncoolsu
1
Beau graphique, mais il ne répond pas à la question initiale, car vous ne pouvez pas représenter l'intersection de 3 ensembles ou plus. Y en a-t-il une variante?
nassimhddd
11

Cela ne rivalisera pas avec la réponse de @ Shane car les écrans circulaires sont vraiment bien adaptés pour afficher des relations complexes avec des ensembles de données de grande dimension.

venn()K=4

K=4

Pour plus d'informations, vous pourriez être intéressé par

Kestler et al., Diagrammes de Venn généralisés: une nouvelle méthode de visualisation des relations complexes d'ensembles génétiques , Bioinformatics, 21 (8), 1592-1595 (2004).

Les diagrammes de Venn ont cependant leurs limites. À cet égard, j'aime l'approche adoptée par Robert Kosara dans Sightings: A Vennerable Challenge , ou avec Parallel Sets (mais voir aussi cette discussion sur le blog d'Andrew Gelman).

chl
la source
Ça à l'air bon. je l'aurais aimé s'il acceptait les non numériques. Il semble qu'il faut d'abord transformer leurs données en une liste numérique.
eastafri
Pour des raisons pratiques, il serait génial d'inclure des captures d'écran
user5783745
7

Nous avons développé une approche matricielle pour les intersections d'ensembles appelée UpSet, vous pouvez la vérifier sur http://vcg.github.io/upset/ . Voici un exemple:

Capture d'écran UpSet

La matrice de gauche identifie l'intersection qu'une ligne représente, la dernière ligne ici, par exemple, est l'intersection des genres de films "Action, Aventure et Enfants". Les barres à droite vous indiquent la taille de l'intersection, 4 dans cet exemple.

Vous pouvez également tracer les attributs des intersections ou d'autres sélections, etc. Consultez le site Web pour plus de détails.

Il existe maintenant également une version statique pour R que vous pouvez trouver sur le site Web mentionné ci-dessus, ou en allant ici: https://github.com/hms-dbmi/UpSetR/

Un rapport de pointe sur la visualisation des décors est accessible sur http://www.cvast.tuwien.ac.at/SetViz - la plupart d'entre eux sont académiques et ne sont pas fournis avec du code facilement disponible.

alexsb
la source
1
Quant à moi, l'image que vous avez postée est plutôt un exemple de surplotage, avec trop d'informations regroupées sur une seule parcelle ...
Tim
1
@Tim. Bien que je comprenne ce que vous dites, ce n'est pas vraiment du surplomb, car tous les éléments visuels sont clairement visibles et séparés. Vous pourriez faire valoir que l'intrigue est trop complexe pour être facilement discernée, mais cela pourrait tout aussi bien être lié au fait que vous n'êtes pas formé à l'utilisation de l'intrigue - toutes les visualisations ne peuvent pas ou ne devraient pas viser des utilisateurs non formés, car les simplifications conduisent souvent à une portée limitée (par exemple, mauvaise évolutivité des diagrammes de
Venn
@ ThomasP85 il y a eu beaucoup de recherches qui montrent que les gens sont vraiment mauvais dans l'interprétation visuelle des tracés (même "les" experts), y compris même des trucs de base comme les camemberts. Dans la plupart des cas, une visualisation compliquée entraîne des interprétations erronées et des malentendus.
Tim
@Tim Je suis d'accord que simple est toujours meilleur, mais les questions complexes ont parfois des réponses complexes. La raison pour laquelle cette question a été posée en premier lieu est qu'à ce jour, il n'existe pas de technique de visualisation simple et convaincante pour traiter un grand nombre d'intersections définies. La réponse acceptée ne concerne que les intersections à 2 degrés qui, à mesure que le nombre d'ensembles augmente, constituent une partie de plus en plus petite du nombre total d'intersections.
ThomasP85
... et votre exemple avec les camemberts est lié au fait que les humains (experts ou non) sont horribles à comparer les angles, c'est pourquoi les camemberts ne devraient jamais être utilisés :-)
ThomasP85