सामाजिक नेटवर्क का विकास कैसे करें?


12

मैं एक पुस्तकालय / उपकरण की कल्पना कर रहा हूं कि जब नए नोड्स / किनारों को इसमें जोड़ा जाता है तो सामाजिक नेटवर्क कैसे बदलता है, इसकी कल्पना करें।

मौजूदा समाधानों में से एक SoNIA: सोशल नेटवर्क इमेज एनीमेटर है । आइए आपको इस तरह की फिल्में बनाते हैं ।

SoNIA के प्रलेखन का कहना है कि यह फिलहाल टूट गया है, और इसके अलावा मैं इसके बजाय जावास्क्रिप्ट-आधारित समाधान पसंद करूंगा। तो, मेरा प्रश्न यह है: क्या आप किसी उपकरण से परिचित हैं या आप मुझे कुछ पुस्तकालयों के लिए इंगित करने में सक्षम हैं जो इस कार्य को यथासंभव आसान बना देगा?

इस प्रश्न को पोस्ट करने के बाद मैं sigma.js में खुदाई करूँगा , इसलिए कृपया इस लाइब्रेरी को कवर करने पर विचार करें।

सामान्य तौर पर, मेरा इनपुट डेटा कुछ इस तरह होगा:

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

तो, यहां हमारे पास तीन बिंदु हैं (1, 2, 3), तीन नोड्स (ए, बी, सी), और तीन किनारे, जो तीन माने जाने वाले नोड्स के बीच एक त्रिकोणीय बंद का प्रतिनिधित्व करते हैं।

इसके अलावा, प्रत्येक नोड में दो विशेषताएँ (आयु और लिंग) होंगी, इसलिए मैं नोड्स के आकार / रंग को बदलने में सक्षम होना चाहूंगा।

इसके अलावा, एक नया नोड जोड़ने के बाद, ग्राफ के लेआउट को समायोजित करने के लिए कुछ ForceAtlas2 या समान एल्गोरिथ्म होना सही होगा।

जवाबों:


12

फैंसी एनिमेशन शांत हैं

मैं बहुत प्रभावित था जब मैंने प्रवचन गिट रिपॉजिटरी के इस एनीमेशन को देखा । उन्होंने लौकी का उपयोग किया जो विशेष रूप से गिट के लिए है। लेकिन यह विचारों को दे सकता है कि विकास की गतिशीलता का प्रतिनिधित्व कैसे करें।

आप matplotlib के साथ एनिमेशन बना सकते हैं

यह स्टैकओवरफ़्लो उत्तर एक अजगर / नेटवर्कएक्स / मैटलोट्लिब समाधान पर इंगित करता है।

लेकिन D3.js इंटरैक्शन प्रदान करता है

यदि आप एक वेब-आधारित समाधान की तलाश कर रहे हैं तो d3.js उत्कृष्ट है। देखें इस , यह और इस उदाहरण के लिए। इस स्टैकओवरफ़्लो प्रश्न को भी देखें , स्वीकार किए गए उत्तर अंक डी 3 के लिए। फिर से।

निष्कर्ष

मुझे नेटवर्क विश्लेषण के लिए अजगर / नेटवर्क विकल्प की ओर आकर्षित किया जाएगा (संभवतः उदाहरण के लिए आपके कच्चे डेटा फ़ाइल में विशेषताओं को जोड़ने के लिए)। फिर, विज़ुअलाइज़ेशन और प्रसार के लिए D3.js एकदम सही है। आप आश्चर्यचकित हो सकते हैं कि d3.js लिखना कितना आसान हो सकता है जब आप इसे प्राप्त करते हैं। मेरा मानना है कि यह एक ipython नोटबुक के भीतर भी काम करता है!


धन्यवाद, मुझे यह पाइथन / नेटवर्क्स / matplotlib सॉल्यूशन पसंद है क्योंकि यह मेरा डिफॉल्ट वर्किंग एनवायरनमेंट है, और इस कोड से जिफ़ बनाना आसान है। फिर भी, कुछ ऐसा है जो वेब पर अच्छा लग रहा है, इस समाधान को हरा देगा :)
वोज्शिएक वाल्ज़ाक

6

मेरा पहला अनुमान झांकी में सामाजिक नेटवर्क की कल्पना करना है

और विशेष रूप से: झांकी में नेटवर्क ग्राफ का निर्माण

नेटवर्क परिवर्तन की गतिशीलता देखने में सक्षम होने के लिए आपको "पेज" अनुभाग में समय आयाम जोड़ने की आवश्यकता है।

यह ऊपर दिए गए लिंक से स्क्रीन है। यहाँ छवि विवरण दर्ज करें


1
नमस्ते, इस टिप के लिए धन्यवाद, लेकिन मैं एक गतिशील रूप में वेब पर आसानी से प्रकाशित होने वाली किसी चीज़ को प्राथमिकता दूंगा। इसके अलावा, मैं नि: शुल्क समाधान पसंद करता हूं, जबकि झांकी - मुझे गलत है अगर मैं गलत हूं - केवल एक परीक्षण संस्करण के रूप में उपलब्ध है।
वोज्शिएक वाल्कैक 12

इसका "सार्वजनिक" संस्करण भी है, जिसका अर्थ है कि आपको वेब में अपने परिणामों को संग्रहीत / साझा करना होगा, और इसे स्थानीय रूप से सहेज नहीं सकते।
आईएआरएस

2
@WojciechWalczak शायद झप्पी का इस्तेमाल झांकी के बजाय किया जा सकता है।
अमीर अली अकबरी

6

यह पता चला कि यह कार्य विज़ का उपयोग करके पूरा करना काफी आसान था । यह सबसे अच्छा उदाहरण कोड था जो मुझे मिला है।

इस पर मैंने जो कुछ भी बनाया है उसका उदाहरण यहाँ है (इस पोस्ट के नीचे स्क्रॉल करें)। यह ग्राफ़ फेसबुक मित्रों के सबनेटवर्क के विकास का प्रतिनिधित्व करता है। हरे रंग के डॉट्स मादा हैं, नीले रंग के नर हैं। गहरा रंग, पुराने उपयोगकर्ता। "डोजाज वॉज़ली" पर क्लिक करके आप ग्राफ़ में अधिक नोड्स और किनारों को जोड़ सकते हैं।

वैसे भी, मैं अभी भी इस कार्य को पूरा करने के अन्य तरीकों में दिलचस्पी रखता हूं, इसलिए मैं अब तक किसी भी उत्तर को स्वीकार नहीं करूंगा।

आपके योगदान के लिए धन्यवाद!


आपके लिंक टूट गए हैं
user1870400
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.