igraph ağ yerleşimleri
igraph paketi, ağ görselleştirme için birkaç yerleşik yerleşim algoritması sağlar. Belirli bir ağın boyutuna bağlı olarak farklı yerleşimler, ağın yapısını aktarmada daha etkili olabilir. İdeal olarak en iyi yerleşim, ağdaki birbirini kesen kenar sayısını en aza indirendir. Bu egzersizde, varsayılan yerleşim algoritmalarından sadece birkaçını keşfedeceksin. Her bir grafiği yeniden çalıştırmak, aynı yerleşim türünün biraz farklı bir sürümünü üretir. Bunu birkaç kez yapmak, ağın için en iyi görünen görselleştirmeyi bulmana yardımcı olabilir.
Bu egzersiz
R ile Ağ Analizi
kursunun bir parçasıdırEgzersiz talimatları
- plot fonksiyonunda,
layoutargümanınılayout_in_circle()olarak değiştirerek dairesel bir ağ üret. - plot fonksiyonunda,
layoutargümanınılayout_with_fr()olarak değiştirerek Fruchterman-Reingold yerleşimine sahip bir ağ üret. - Yerleşimi, her bir tepe için (x, y) koordinatlarından oluşan bir matris sağlayarak da belirtebilirsin. Burada
layout_as_tree()fonksiyonunu kullanarak koordinatlardan oluşanmmatrisini üretiyorsun. Ardından bu matrisiplot()içindekilayoutfonksiyonuna vererek çiz. - Doğru yerleşimi seçmek kafa karıştırıcı olabilir. Neyse ki
igraph, verilen bir grafik nesnesi için en uygun yerleşim fonksiyonunu seçmeye çalışanlayout_nicely()adlı bir fonksiyona sahip. Bu fonksiyonu kullanarakm1matrisini üret ve ağı bu koordinatlarla çiz.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
library(igraph)
# Plot the graph object g1 in a circle layout
plot(g1, vertex.label.color = "black", layout = ___(g1))
# Plot the graph object g1 in a Fruchterman-Reingold layout
plot(g1, vertex.label.color = "black", layout = ___(g1))
# Plot the graph object g1 in a Tree layout
m <- ___(g1)
plot(g1, vertex.label.color = "black", layout = m)
# Plot the graph object g1 using igraph's chosen layout
___ <- layout_nicely(___)
plot(___, vertex.label.color = "black", layout = ___)