Bir sosyal ağın büyümesi nasıl canlandırılır?


12

Yeni düğümler / kenarlar eklendiğinde sosyal ağın nasıl değiştiğini görselleştirmek için bir kütüphane / araç arıyorum.

Mevcut çözümlerden biri SoNIA: Social Network Image Animator . Bu gibi filmler yapmak yapalım bu bir .

SoNIA'nın belgeleri şu anda bozuk olduğunu söylüyor ve bunun yerine JavaScript tabanlı çözümü tercih ederim. Yani, sorum şu: Herhangi bir araca aşina mısınız yoksa beni bu görevi mümkün olduğunca kolaylaştıracak bazı kütüphanelere yönlendirebilir misiniz?

Bu soruyu gönderdikten hemen sonra sigma.js'yi inceleyeceğim , bu yüzden lütfen bu kütüphanenin kapalı olduğunu düşünün.

Genel olarak, girdi verilerim şöyle bir şey olurdu:

time_elapsed; node1; node2
1; A; B
2; A; C
3; B; C

Yani, burada üç nokta (1, 2, 3), üç düğüm (A, B, C) ve üç kenar var, bu da üç kabul edilen düğüm arasında üçlü bir kapanmayı temsil ediyor.

Ayrıca, her düğümün iki niteliği (yaş ve cinsiyet) olacaktır, bu yüzden düğümlerin şeklini / rengini değiştirmek istiyorum.

Ayrıca, yeni bir düğüm ekledikten sonra, grafiğin düzenini ayarlamak için bazı ForceAtlas2 veya benzeri bir algoritmaya sahip olmak mükemmel olurdu.

Yanıtlar:


12

Süslü animasyonlar harika

Ben gördüğümde çok etkilendim bu animasyonu ait söylem git depo. Özellikle git için olan Gourse kullandılar . Ancak, büyüme dinamiklerinin nasıl temsil edileceği hakkında fikir verebilir.

Matplotlib ile animasyonlar oluşturabilirsiniz

Bu yığın akışı cevabı bir python / networkx / matplotlib çözümüne işaret ediyor gibi görünüyor.

Ancak D3.js etkileşim sağlar

Web tabanlı bir çözüm arıyorsanız d3.js mükemmel. Bkz bu , bu ve bu örneğin. Ayrıca bu yığın akışı sorusuna bakın , kabul edilen cevap tekrar D3.js'ye işaret ediyor.

Sonuç

Ağ analizi için python / networkx seçeneklerine doğru çekilirdim (örneğin ham veri dosyanıza öznitelikler eklemek için). Ardından, görselleştirme ve yayma için D3.js mükemmeldir. İçeri girdikten sonra d3.js yazmanın ne kadar kolay olabileceğine şaşırabilirsiniz. Bir ipython not defterinde bile çalıştığına inanıyorum !


Teşekkürler, bu Python / networkx / matplotlib çözümünü seviyorum çünkü varsayılan çalışma ortamım ve bu koddan bir gif yapmak kolay. Yine de, Web'de daha güzel görünen bir şey bu çözümü yenebilir :)
Wojciech Walczak

6

İlk tahminim Tableau'daki sosyal ağı görselleştirmek .

Ve özellikle: Tableau'da ağ grafikleri oluşturmak .

İhtiyacınız olan şey, ağ değişim dinamiklerini görebilmek için "Sayfalar" bölümüne zaman boyutu eklemektir.

Bu, yukarıdaki bağlantıdan alınan ekrandır. resim açıklamasını buraya girin


1
Merhaba, bu ipucu için teşekkürler, ancak dinamik bir biçimde Web'de kolayca yayınlanabilecek bir şeyi tercih ederim. Ayrıca, ücretsiz çözümleri tercih ederim, Tableau - yanılıyorsam beni düzelt - sadece deneme sürümü olarak mevcut.
Wojciech Walczak

Ayrıca "Herkese Açık" sürümüne sahiptir, bu da sonuçlarınızı web'de saklamanız / paylaşmanız gerektiği anlamına gelir ve yerel olarak kaydedemezsiniz.
IharS

2
@WojciechWalczak Tableau yerine belki gephi kullanılabilir.
Amir Ali Akbari

6

Bu görevin vis.js kullanarak başarılması oldukça kolay olduğu ortaya çıktı . Bu bulduğum en iyi örnek kod oldu.

Bu üzerine inşa ettiklerimin örneği burada (bu yazının en altına kaydırın). Bu grafik, Facebook arkadaşlarının bir alt ağının büyümesini temsil eder. Yeşil noktalar kadın, mavi olanlar erkek. Renk ne kadar koyu olursa, kullanıcı o kadar yaşlı olur. "Dodaj węzły" düğmesine tıklayarak grafiğe daha fazla düğüm ve kenar ekleyebilirsiniz.

Her neyse, hala bu görevi yerine getirmenin diğer yollarıyla ilgileniyorum, bu yüzden şimdilik herhangi bir cevabı kabul etmeyeceğim.

Katkılarınız için teşekkürler!


bağlantılarınız bozuldu
user1870400
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.