Visualizzazione delle intersezioni di molti insiemi


30

Esiste un modello di visualizzazione adatto per mostrare la sovrapposizione di intersezioni di molti insiemi?

Sto pensando a qualcosa come i diagrammi di Venn, ma che in qualche modo potrebbe prestarsi meglio a un numero maggiore di insiemi come 10 o più. Wikipedia mostra alcuni diagrammi di Venn con un set più alto ma anche i 4 diagrammi con set sono molto da prendere in considerazione.

La mia ipotesi sul risultato finale dei dati sarebbe che molti set non si sovrapporranno, quindi è possibile che i diagrammi di Venn vadano bene, ma vorrei trovare uno strumento informatico in grado di generarlo. Mi sembra che i grafici di Google non consentano così tanti set.


1
Correlato, ma per un numero limitato di set (per riferimento): stats.stackexchange.com/questions/4211/…

Risposte:


18

Quando hai un gran numero di set, proverei qualcosa che è più lineare e mostra direttamente i collegamenti (come un grafico di rete). Flare e Protovis hanno entrambi utilità per gestire queste visualizzazioni.

Vedi questa domanda per alcuni esempi come questo:

testo alternativo


(+1) Bella risposta! - Mi piace soprattutto la grafica. Mi chiedevo se c'è un modo per farlo in R?
suncoolsu,

1
Non sono a conoscenza di alcun modo per farlo; il mio pacchetto webvis fornisce un wrapper per Protovis, ma sarebbe un sacco di lavoro per farlo per realizzare questo grafico. Per inciso, questo articolo introduce il "diagramma ad arco" che è correlato: ieg.ifs.tuwien.ac.at/~aigner/teaching/ws06/infovis_ue/papers/…
Shane

1
@suncoolsu, il diagramma del pacchetto R potrebbe essere in grado di fare lo stesso "diagramma ad arco" indicato da Shane. Sembra però che sarebbe un duro lavoro far sì che la "trama della trama" assomigli all'immagine sopra. cran.r-project.org/web/packages/diagram/vignettes/diagram.pdf .
Andy W,

e Andy. Grazie per le tue risposte. @Shane, ho visto il tuo pacchetto webvis. Ma ho ancora bisogno di esplorarlo ulteriormente. Mi piacciono molto i grafici di protovis. Hanno un ottimo sito web.
suncoolsu,

1
Bel grafico, ma non risponde alla domanda iniziale, poiché non puoi rappresentare l'intersezione di 3 o più set. C'è una variante che lo fa?
nassimhddd,

11

Ciò non competerà con la risposta di @ Shane perché i display circolari sono davvero adatti per visualizzare relazioni complesse con set di dati ad alta dimensione.

venn()K=4

K=4

Per ulteriori riferimenti, potresti essere interessato

Kestler et al., Diagrammi di Venn generalizzati: un nuovo metodo di visualizzazione di relazioni genetiche complesse , Bioinformatica, 21 (8), 1592-1595 (2004).

I diagrammi di Venn hanno i loro limiti, però. A questo proposito, mi piace l'approccio adottato da Robert Kosara in Sightings: A Vennerable Challenge o con Parallel Set (ma vedi anche questa discussione sul blog di Andrew Gelman).


Sembra buona. mi sarebbe piaciuto se avesse accettato i numeri non numerici. Sembra che si debbano prima trasformare i propri dati in un elenco numerico.
eastafri,

Ai fini pratici, sarebbe fantastico includere alcuni
screengrabs

7

Abbiamo sviluppato un approccio basato su matrice per intersezioni definite chiamato UpSet, puoi verificarlo su http://vcg.github.io/upset/ . Ecco un esempio:

Schermata UpSet

La matrice a sinistra identifica l'intersezione rappresentata da una riga, l'ultima riga qui, ad esempio, è l'intersezione dei generi cinematografici "Azione, Avventura e Bambini". Le barre a destra mostrano la dimensione dell'intersezione, 4 in questo esempio.

Puoi anche tracciare gli attributi delle intersezioni o di altre selezioni, ecc. Controlla il sito Web per i dettagli.

Esiste ora anche una versione statica per R che puoi trovare sul sito web sopra menzionato, o andando qui: https://github.com/hms-dbmi/UpSetR/

Un rapporto sullo stato dell'arte della visualizzazione dei set è accessibile su http://www.cvast.tuwien.ac.at/SetViz - la maggior parte di questi sono accademici e non dispongono di codice facilmente disponibile.


1
Per quanto mi riguarda, l'immagine che hai pubblicato è piuttosto un esempio di sovrastampa, con troppe informazioni raggruppate in un singolo diagramma ...
Tim

1
@ Tim. Mentre capisco quello che stai dicendo, non è davvero una sovraincisione poiché tutti gli elementi visivi sono chiaramente visibili e separati. Si potrebbe sostenere che la trama sia troppo complessa per discernere prontamente, ma ciò potrebbe anche essere correlato al fatto che non si è addestrati a utilizzare la trama - non tutte le visualizzazioni possono o dovrebbero essere indirizzate a utenti non addestrati, poiché le semplificazioni spesso portano a un ambito limitato (ad es. scarsa scalabilità dei diagrammi di Venn)
ThomasP85,

@ ThomasP85 ci sono state molte ricerche che dimostrano che le persone sono davvero cattive nell'interpretazione visiva delle trame (anche "gli" esperti), comprese anche cose di base come i grafici a torta. Nella maggior parte dei casi la visualizzazione complicata porta a fraintendimenti e incomprensioni.
Tim

@Tim Sono d'accordo sul fatto che semplice è sempre meglio, ma a volte le domande complesse hanno risposte complesse. Il motivo per cui questa domanda è stata posta in primo luogo è che lì, fino ad oggi, non è una tecnica di visualizzazione semplice e avvincente per gestire un gran numero di intersezioni impostate. La risposta accettata riguarda solo le intersezioni di 2 gradi che, all'aumentare del numero di insiemi, sono una parte sempre più piccola del numero totale di intersezioni.
ThomasP85,

... e il tuo esempio con i grafici a torta è correlato al fatto che gli umani (esperti o meno) sono orribili nel confrontare gli angoli, motivo per cui i grafici a torta non dovrebbero mai essere usati :-)
ThomasP85
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.