igraph नेटवर्क लेआउट्स
igraph पैकेज नेटवर्क विज़ुअलाइज़ेशन के लिए कई बिल्ट-इन लेआउट एल्गोरिदम देता है। किसी नेटवर्क के आकार के अनुसार, अलग‑अलग लेआउट्स नेटवर्क की संरचना समझाने में ज़्यादा प्रभावी हो सकते हैं। आदर्श रूप से, सबसे अच्छा लेआउट वह होता है जो नेटवर्क में एक‑दूसरे को काटने वाली edges की संख्या कम से कम करे। इस अभ्यास में आप कई डिफॉल्ट लेआउट एल्गोरिदम में से कुछ को एक्सप्लोर करेंगे। हर प्लॉट के लिए कोड फिर से चलाने पर उसी लेआउट टाइप का थोड़ा अलग संस्करण बनेगा। इसे कुछ बार करने से आपके नेटवर्क के लिए सबसे अच्छा दिखने वाला विज़ुअलाइज़ेशन चुनने में मदद मिलती है।
यह अभ्यास पाठ्यक्रम का हिस्सा है
R में नेटवर्क विश्लेषण
अभ्यास निर्देश
- plot फंक्शन में,
layoutआर्ग्युमेंट कोlayout_in_circle()में बदलें ताकि एक सर्कल नेटवर्क बने। - plot फंक्शन में,
layoutआर्ग्युमेंट कोlayout_with_fr()में बदलें ताकि Fruchterman-Reingold लेआउट वाला नेटवर्क बने। - आप हर vertex के लिए (x, y) कोऑर्डिनेट्स की मैट्रिक्स देकर भी लेआउट तय कर सकते हैं। यहाँ आप
layout_as_tree()फंक्शन से कोऑर्डिनेट्स की मैट्रिक्सmबनाते हैं। फिरmकोplot()मेंlayoutफंक्शन को पास करके प्लॉट करें। - सही लेआउट चुनना पेचीदा हो सकता है। सौभाग्य से
igraphमेंlayout_nicely()फंक्शन है जो दिए गए ग्राफ ऑब्जेक्ट के लिए सबसे उपयुक्त लेआउट फंक्शन चुनने की कोशिश करता है। इस फंक्शन का उपयोग करके मैट्रिक्सm1बनाइए और इन्हीं कोऑर्डिनेट्स से नेटवर्क प्लॉट कीजिए।
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
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 = ___)