Memvisualisasikan grafik dengan sejuta simpul

17

Apa alat terbaik yang digunakan untuk memvisualisasikan (menggambar simpul dan tepi) grafik dengan 10.00000 simpul? Ada sekitar 50.000 tepi dalam grafik. Dan saya dapat menghitung lokasi masing-masing simpul dan tepi.

Saya sedang berpikir tentang menulis sebuah program untuk menghasilkan svg. Ada saran lain?

Cici
sumber
Anda dapat mencoba Graphviz ... tidak yakin apakah ini menskala hingga jutaan titik ....
Debasis
Semoga jawaban untuk pertanyaan ini dapat menyentuh bagaimana grafik seperti ini dibuat: medium.com/i-data/…
shadowtalker
Halo @Cici, biasanya pertanyaan tentang alat yang disarankan tidak disarankan pada situs SE ini dan lainnya, karena mereka hanya mengundang banyak pendapat.
Sean Owen

Jawaban:

19

Saya juga menyarankan Gephiperangkat lunak ( https://gephi.github.io ), yang tampaknya cukup kuat. Beberapa informasi tambahan tentang penggunaan Gephidengan jaringan besar dapat ditemukan di sini dan, lebih umum, di sini . Cytoscape( http://www.cytoscape.org ) adalah alternatif untuk Gephi, menjadi platform populer lainnya untuk analisis dan visualisasi jaringan yang kompleks.

Jika Anda ingin bekerja dengan jaringan secara terprogram (termasuk visualisasi) dalam R, Python atau C / C ++, Anda dapat memeriksa igraphkoleksi perpustakaan. Ngomong-ngomong tentang R, Anda mungkin menemukan tulisan blog berikut yang menarik: menggunakan R dengan Cytoscape ( http://www.vesnam.com/Rblog/viznets1 ) dan menggunakan R dengan Gephi ( http://www.vesnam.com/ Rblog / viznets2 ).

Untuk daftar ekstensif dari analisis jaringan dan perangkat lunak visualisasi , termasuk beberapa perbandingan dan ulasan, Anda mungkin ingin memeriksa halaman berikut: 1) http://wiki.cytoscape.org/Network_analysis_links ; 2) http://www.kdnuggets.com/software/social-network-analysis.html ; 3) http://www.activatenetworks.net/social-network-analysis-sna-software-review .

Aleksandr Blekh
sumber
8

https://gephi.github.io/ mengatakan dapat menangani sejuta tepi. Jika grafik Anda memiliki 10.00000 simpul dan hanya 50.000 tepi maka sebagian besar simpul Anda tidak akan memiliki tepi apa pun.

Faktanya, spesifikasi Gephi adalah dua dari contoh Anda: "Jaringan hingga 50.000 node dan 1.000.000 tepi"

Spacedman
sumber
8

Saya pikir, yang Gephibisa menghadapi masalah kekurangan memori, Anda membutuhkan setidaknya 8Gb RAM. Padahal jumlah ujungnya tidak terlalu besar.

Mungkin, alat yang lebih tepat dalam hal ini adalah GraphViz. Ini adalah alat baris perintah untuk visualisasi jaringan, dan mungkin akan lebih toleran terhadap ukuran grafik. Selain itu, seingat saya, di GraphVizdalamnya dimungkinkan untuk menggunakan koordinat yang sudah dikomputasi untuk memfasilitasi perhitungan.

Saya sudah mencoba menemukan contoh penggunaan dunia nyata GraphVizdengan grafik besar, tetapi tidak berhasil. Padahal saya menemukan diskusi serupa tentang Ilmu Komputasi .

sobach
sumber
4

Melaporkan kembali: Saya akhirnya coding codingml dan menggunakan yEd untuk visualisasi (hanya karena saya terbiasa dengan kombinasi ini. Saya yakin gephi atau graphviz akan berfungsi dengan baik dan bahkan mungkin lebih baik). Karena saya menghitung lokasi semua node, memori bukanlah masalah besar. Coding graphml sedikit lebih mudah dibandingkan dengan coding svg, karena saya tidak harus secara eksplisit menentukan penempatan edge.

Cici
sumber
2

PajekXXL dirancang untuk menangani jaringan yang sangat besar. Tapi Pajek juga semacam program aneh dengan antarmuka yang tidak intuitif.

shadowtalker
sumber
2

Saya akan merekomendasikan untuk menggunakan Graphexp. Gephi sangat tergantung pada RAM komputer Anda yang jelas terbatas. Graphexp di sisi lain hanya menampilkan jumlah Node yang terbatas, yang melaluinya Anda dapat menavigasi ke node lain. Saya telah memvisualisasikan grafik dengan 700 Juta simpul menggunakan Graphexp sebagai UI dan Janusgraph dengan HBase sebagai penyimpanan back-end. https://github.com/bricaud/graphexp

Sandeep Kumar
sumber
Betulkah? bagi saya itu mulai tersedak ketika mencoba menunjukkan lebih dari 100 simpul
BrDaHa
Kecepatan tergantung pada basis data back-end dan kapasitas komputasi. Graphexp hanya UI.
Sandeep Kumar
Saya menyadari itu, tetapi dengan "tersedak" maksud saya kecepatan refresh akan turun menjadi 1-2 fps ketika menganimasikan node yang muncul di layar. Mungkin perlu dicatat bahwa ini ada di versi Safari terbaru
BrDaHa
0

Lihatlah Graphistry , mereka dapat menangani node dan tepi 1Mil.

Scott
sumber
Yap, Graphistry adalah satu-satunya alat visual interaktif untuk grafik besar karena grafis ini beroperasi secara end-to-end untuk Anda.
Leo Meyerovich