การกำหนดขนาดจุดยอดใน threejs
เช่นเดียวกับการแสดงภาพเครือข่ายทั่วไป การปรับขนาดจุดยอดเพื่อสะท้อนความสำคัญเชิงเปรียบเทียบมักให้ผลที่ดี ซึ่งใน threejs ก็ทำได้ไม่ยาก ในแบบฝึกหัดนี้จะสร้างกราฟ threejs แบบโต้ตอบสำหรับเครือข่าย karate club โดยกำหนดขนาดจุดยอดตามค่า eigenvector centrality เชิงเปรียบเทียบ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์เครือข่ายใน R
คำแนะนำการฝึกหัด
- คำนวณค่า eigenvector centrality ของแต่ละจุดยอดโดยใช้
eigen_centrality()แล้วเก็บค่าไว้ในออบเจกต์ec - ใช้
sqrt()ปรับค่าในecเพื่อสร้างเวกเตอร์ค่าใหม่ชื่อvซึ่งมีค่าเท่ากับห้าเท่าของรากที่สองของค่า eigenvector centrality เดิม - พล็อตเครือข่ายด้วยฟังก์ชัน
graphjsของthreejsโดยกำหนดอาร์กิวเมนต์vertex.sizeให้เท่ากับค่าใน v
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create numerical vector of vertex eigenvector centralities
ec <- as.numeric(___(g)$___)
# Create new vector 'v' that is equal to the square-root of 'ec' multiplied by 5
v <- 5*___(___)
# Plot threejs plot of graph setting vertex size to v
___(g, vertex.size = ___)