กราฟเชิงโต้ตอบด้วย ggiraph
จนถึงตอนนี้ เราสร้างกราฟแบบ static มาตลอด แต่ในความเป็นจริง กราฟของเรามีคุณสมบัติมากมายที่อยากแสดงผล และหากแสดงทั้งหมดพร้อมกัน ภาพจะรกและอ่านยาก นั่นคือจุดที่กราฟเชิงโต้ตอบเข้ามาช่วยได้อย่างดี เพราะสามารถแสดงโครงสร้างพื้นฐานของกราฟ แล้วให้ผู้ใช้เลือกดูคุณสมบัติของ vertex และ edge ต่าง ๆ ตามการโต้ตอบกับพล็อต ในบทเรียนนี้ เราจะต่อยอดงานที่ทำไว้ด้วย ggnetwork โดยเริ่มจากการสุ่มตัวอย่าง 1% จากเครือข่ายการแชร์จักรยาน (ลดขนาดเพื่อให้แสดงผลได้ง่ายขึ้น) แล้วสร้างพล็อตด้วย ggnetwork จากนั้นจะเพิ่ม betweenness centrality เป็นคุณสมบัติของ vertex และสร้างพล็อตเชิงโต้ตอบที่แสดงค่า centrality เมื่อวางเมาส์เหนือ vertex
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
กรณีศึกษา: การวิเคราะห์เครือข่ายใน R
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# From previous step
static_network <- ggplot(
ggnetwork(trip_g_simp, arrow.gap = 0.01),
aes(x = x, y = y, xend = xend, yend = yend)
) +
geom_edges() +
geom_nodes(aes(size = cent)) +
theme_blank()
interactive_network <- static_network +
# Add an interactive point layer
___(
# Map tooltip and data_id to centrality
aes(tooltip = ___, data_id = ___)
)