Memvisualisasikan persimpangan banyak set

30

Apakah ada model visualisasi yang bagus untuk menunjukkan persimpangan tumpang tindih banyak set?

Saya sedang memikirkan sesuatu seperti diagram Venn, tetapi entah bagaimana itu dapat memberikan lebih banyak jumlah set yang lebih besar seperti 10 atau lebih. Wikipedia memang menunjukkan beberapa diagram Venn set yang lebih tinggi tetapi bahkan 4 diagram set banyak yang bisa diterima.

Dugaan saya mengenai hasil akhir data adalah banyak set tidak akan tumpang tindih sehingga ada kemungkinan diagram Venn baik-baik saja - tetapi saya ingin menemukan alat komputer yang dapat menghasilkan itu. Bagiku bagaikan bagan Google tidak memungkinkan banyak set.

Kyle Brandt
sumber
1
Terkait, tetapi untuk sejumlah kecil set (untuk referensi): stats.stackexchange.com/questions/4211/…

Jawaban:

18

Ketika Anda memiliki sejumlah besar set, saya akan mencoba sesuatu yang lebih linier dan menunjukkan tautannya secara langsung (seperti grafik jaringan). Flare dan Protovis keduanya memiliki utilitas untuk menangani visualisasi ini.

Lihat pertanyaan ini untuk beberapa contoh seperti ini:

teks alternatif

Shane
sumber
(+1) Jawaban yang bagus! - Saya terutama suka grafisnya. Saya bertanya-tanya apakah ada cara untuk melakukan ini di R?
suncoolsu
1
Saya tidak mengetahui cara untuk melakukannya; paket webvis saya menyediakan pembungkus untuk Protovis, tetapi akan banyak pekerjaan untuk mendapatkannya untuk membuat grafik ini. Kebetulan, makalah ini memperkenalkan "diagram busur" yang terkait: ieg.ifs.tuwien.ac.at/ ~ campaigner
Shane
1
@ Suncoolsu, diagram paket R mungkin dapat melakukan "arc diagram" yang sama seperti yang Shane tunjuk. Sepertinya itu akan menjadi kerja keras untuk mendapatkan "web plot" agar terlihat seperti visual di atas. cran.r-project.org/web/packages/diagram/vignettes/diagram.pdf .
Andy W
dan Andy. Terima kasih atas jawaban anda @ Shane, saya telah melihat paket webvis Anda. Tapi saya masih perlu menjelajahinya lebih jauh. Saya sangat menyukai grafik protovis. Mereka memiliki situs web yang bagus.
suncoolsu
1
Grafik yang bagus, tetapi tidak menjawab pertanyaan awal, karena Anda tidak dapat mewakili persimpangan 3 set atau lebih. Apakah ada varian yang bisa?
nassimhddd
11

Ini tidak akan bersaing dengan jawaban @ Shane karena tampilan melingkar sangat cocok untuk menampilkan hubungan yang kompleks dengan kumpulan data dimensi tinggi.

Untuk diagram Venn, saya telah menggunakan paket venneuler R. Ini memiliki antarmuka yang sederhana namun intuitif dan menghasilkan diagram yang bagus dengan transparansi, dibandingkan dengan venn()fungsi dasar yang dijelaskan dalam Journal of Statistical Software . Itu tidak menangani lebih dari 3 kategori. Proyek lain adalah eVenn dan berkaitan dengan set.K=4

Baru-baru ini, saya menemukan paket baru yang berhubungan dengan set relasi tingkat tinggi, dan mungkin memungkinkan untuk mereproduksi beberapa diagram Venn yang diperlihatkan di Wikipedia atau di halaman web ini, Apa itu Diagram Venn? , tetapi juga terbatas pada set. Itu disebut VennDiagram, tetapi lihat makalah referensi: VennDiagram: paket untuk pembuatan diagram Venn dan Euler yang sangat dapat disesuaikan dalam R (Chen dan Boutros, BMin Bioinformatics 2011, 12:35).K=4

Untuk referensi lebih lanjut, Anda mungkin tertarik

Kestler et al., Generalized Diagram Venn: metode baru memvisualisasikan hubungan set genetik yang kompleks , Bioinformatika, 21 (8), 1592-1595 (2004).

Diagram Venn memiliki keterbatasan. Dalam hal ini, saya menyukai pendekatan yang diambil oleh Robert Kosara dalam Sightings: A Vennerable Challenge , atau dengan Parallel Sets (tetapi lihat juga diskusi ini di weblog Andrew Gelman).

chl
sumber
Itu terlihat bagus. Saya akan senang jika itu akan menerima non numerik. Tampaknya seseorang harus mengubah data mereka ke daftar angka terlebih dahulu.
eastafri
Untuk tujuan praktis, akan luar biasa untuk memasukkan beberapa screengrabs
user5783745
7

Kami mengembangkan pendekatan berbasis matriks untuk set persimpangan yang disebut UpSet, Anda dapat memeriksanya di http://vcg.github.io/upset/ . Berikut ini sebuah contoh:

Screenshot UpSet

Matriks di sebelah kiri menunjukkan persimpangan yang diwakili oleh baris, baris terakhir di sini, misalnya, adalah persimpangan dari genre film "Action, Adventure, and Children". Balok di sebelah kanan menunjukkan ukuran persimpangan, 4 dalam contoh ini.

Anda juga dapat memplot atribut dari persimpangan atau pilihan lain, dll. Periksa situs web untuk detailnya.

Sekarang ada juga versi statis untuk R yang dapat Anda temukan di situs web yang disebutkan di atas, atau dengan membuka di sini: https://github.com/hms-dbmi/UpSetR/

Laporan mutakhir tentang visualisasi set dapat diakses di http://www.cvast.tuwien.ac.at/SetViz - sebagian besar di antaranya bersifat akademis dan tidak disertai dengan kode yang tersedia.

alexsb
sumber
1
Bagi saya gambar yang Anda unggah adalah contoh overplotting, dengan terlalu banyak informasi yang dikemas dalam satu plot ...
Tim
1
@Tim. Meskipun saya mengerti apa yang Anda katakan, itu tidak terlalu berlebihan karena semua elemen visual terlihat jelas dan terpisah. Anda dapat berargumen bahwa plot tersebut terlalu rumit untuk dapat dilihat dengan mudah, tetapi ini bisa juga terkait dengan Anda yang tidak terlatih dalam menggunakan plot - tidak semua visualisasi dapat atau seharusnya ditujukan pada pengguna yang tidak terlatih, karena penyederhanaan sering menyebabkan ruang lingkup terbatas (mis. skalabilitas diagram venn yang buruk)
ThomasP85
@ ThomasP85 ada banyak penelitian yang menunjukkan bahwa orang benar-benar buruk dalam interpretasi visual plot (bahkan "para" ahli) termasuk bahkan hal-hal dasar seperti grafik pie. Dalam kebanyakan kasus, visualisasi yang rumit mengarah pada kesalahpahaman dan kesalahpahaman.
Tim
@Tim Saya setuju bahwa sederhana selalu lebih baik, tetapi pertanyaan yang rumit terkadang memiliki jawaban yang kompleks. Alasan mengapa pertanyaan ini diajukan pertama-tama adalah karena di sana, sampai saat ini, bukan teknik visualisasi sederhana dan menarik untuk menangani sejumlah besar persimpangan yang ditetapkan. Jawaban yang diterima hanya menyangkut dirinya dengan 2 derajat persimpangan yang, karena jumlah set meningkat, adalah bagian yang lebih kecil dan lebih kecil dari jumlah total persimpangan.
ThomasP85
... dan contoh Anda dengan diagram lingkaran terkait dengan fakta bahwa manusia (ahli atau tidak) mengerikan dalam membandingkan sudut, itulah sebabnya diagram lingkaran tidak boleh digunakan :-)
ThomasP85