จะสร้างการเติบโตของเครือข่ายโซเชียลอย่างไร?


12

ฉันกำลังมองหาไลบรารี / เครื่องมือเพื่อให้เห็นภาพว่าเครือข่ายสังคมเปลี่ยนแปลงอย่างไรเมื่อมีการเพิ่มโหนด / ขอบใหม่เข้าไป

หนึ่งในโซลูชั่นที่มีอยู่Sonia: Animator มันช่วยให้คุณทำภาพยนตร์เช่นนี้

เอกสารของ SoNIA บอกว่ามันพังในขณะนี้และนอกเหนือจากนี้ฉันต้องการโซลูชันที่ใช้ JavaScript แทน ดังนั้นคำถามของฉันคือคุณคุ้นเคยกับเครื่องมือใด ๆ หรือคุณสามารถชี้ให้ฉันไปที่ห้องสมุดบางแห่งที่จะทำให้งานนี้ง่ายที่สุดเท่าที่จะเป็นไปได้หรือไม่?

หลังจากโพสต์คำถามนี้ฉันจะขุดลงในsigma.jsดังนั้นโปรดพิจารณาห้องสมุดนี้ด้วย

โดยทั่วไปข้อมูลอินพุตของฉันจะเป็นดังนี้:

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

ดังนั้นที่นี่เรามีสามจุดในเวลา (1, 2, 3), สามโหนด (A, B, C) และสามขอบซึ่งแสดงถึงการปิด triadic ระหว่างสามโหนดที่พิจารณา

ยิ่งกว่านั้นทุกโหนดจะมีสองคุณลักษณะ (อายุและเพศ) ดังนั้นฉันจึงต้องการที่จะสามารถเปลี่ยนรูปร่าง / สีของโหนด

นอกจากนี้หลังจากเพิ่มโหนดใหม่จะเป็นการดีที่จะมี ForceAtlas2 หรืออัลกอริทึมที่คล้ายกันเพื่อปรับเค้าโครงของกราฟ

คำตอบ:


12

แอนิเมชั่นแฟนซีนั้นเท่ห์

ฉันประทับใจมากเมื่อเห็นภาพเคลื่อนไหวของแหล่งเก็บข้อมูลวาทกรรมวาทกรรม พวกเขาใช้Gourseซึ่งเฉพาะสำหรับคอมไพล์ แต่มันอาจให้ความคิดเกี่ยวกับวิธีการเป็นตัวแทนของการเจริญเติบโต

คุณสามารถสร้างภาพเคลื่อนไหวด้วย matplotlib

คำตอบ stackoverflow นี้ดูเหมือนจะชี้ไปที่โซลูชัน python / networkx / matplotlib

แต่ D3.js ให้การโต้ตอบ

หากคุณกำลังมองหาทางออกบนเว็บ d3.js นั้นยอดเยี่ยม ดูนี้ , นี้และนี้ตัวอย่างเช่น ดูเพิ่มเติมที่คำถามสแต็คโฟลว์โฟลว์คำตอบที่ได้รับการยอมรับชี้ไปที่ D3.js อีกครั้ง

ข้อสรุป

ฉันจะวาดไปที่ตัวเลือก python / networkx สำหรับการวิเคราะห์เครือข่าย (อาจจะเพิ่มแอตทริบิวต์ให้กับไฟล์ข้อมูลดิบของคุณ) จากนั้นสำหรับการสร้างภาพและการเผยแพร่ D3.js นั้นสมบูรณ์แบบ คุณอาจแปลกใจว่ามันง่ายแค่ไหนที่จะเขียน d3.js เมื่อคุณเข้าไป ฉันเชื่อว่ามันใช้งานได้ในโน๊ตบุ๊ค ipython!


ขอบคุณฉันชอบโซลูชัน Python / networkx / matplotlib นี้เนื่องจากเป็นสภาพแวดล้อมการทำงานเริ่มต้นของฉันและเป็นเรื่องง่ายที่จะสร้าง gif จากโค้ดนี้ แต่ถึงกระนั้นสิ่งที่ดูดีกว่าบนเว็บจะชนะการแก้ปัญหานี้ :)
วอย Walczak

6

เดาแรกของฉันคือการเห็นภาพเครือข่ายทางสังคมใน Tableau

และโดยเฉพาะอย่างยิ่ง: การสร้างเครือข่ายในกราฟ Tableau

สิ่งที่คุณต้องการคือการเพิ่มมิติเวลาลงในส่วน "หน้า" เพื่อให้สามารถเห็นการเปลี่ยนแปลงเครือข่าย

นี่คือหน้าจอจากลิงค์ด้านบน ป้อนคำอธิบายรูปภาพที่นี่


1
สวัสดีขอบคุณสำหรับเคล็ดลับนี้ แต่ฉันต้องการบางสิ่งบางอย่างที่เผยแพร่บนเว็บได้อย่างง่ายดายในรูปแบบไดนามิก นอกจากนี้ฉันชอบโซลูชันฟรีขณะที่ Tableau แก้ไขให้ฉันถ้าฉันผิด - ใช้ได้เฉพาะรุ่นทดลองเท่านั้น
วอย Walczak

นอกจากนี้ยังมีรุ่น "สาธารณะ" ซึ่งหมายความว่าคุณต้องจัดเก็บ / แบ่งปันผลลัพธ์ของคุณในเว็บและไม่สามารถบันทึกในเครื่องได้
IharS

2
@WojciechWalczak บางทีgephiสามารถใช้แทน Tableau ได้
Amir Ali Akbari

6

มันกลับกลายเป็นว่างานนี้ก็ค่อนข้างง่ายที่จะสำเร็จโดยใช้vis.js นี่คือตัวอย่างรหัสที่ดีที่สุดที่ฉันได้พบ

ตัวอย่างของสิ่งที่ฉันสร้างบนนี้คือที่นี่ (เลื่อนไปที่ด้านล่างของโพสต์นี้) กราฟนี้แสดงถึงการเติบโตของเครือข่ายย่อยของเพื่อน Facebook จุดสีเขียวคือตัวเมียจุดสีน้ำเงินคือตัวผู้ ยิ่งสีเข้มขึ้นผู้ใช้ยิ่งเก่า โดยคลิกที่ "Dodaj węzły" คุณสามารถเพิ่มโหนดและขอบเพิ่มเติมลงในกราฟ

อย่างไรก็ตามฉันยังคงสนใจในวิธีอื่น ๆ เพื่อให้งานนี้สำเร็จดังนั้นฉันจะไม่ยอมรับคำตอบใด ๆ ในตอนนี้

ขอบคุณสำหรับผลงานของคุณ!


ลิงก์ของคุณเสีย
user1870400
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.