กราฟ Density แบบซ้อนทับ
ในแบบฝึกหัดนี้ จะได้เรียนรู้วิธีสร้างกราฟ density และซ้อนทับเข้าด้วยกันเพื่อเปรียบเทียบการกระจายของคะแนนนักวิจารณ์จากผู้พัฒนาเกม 3 ราย ได้แก่ Activision, Electronic Arts และ Nintendo
หากต้องการสร้างกราฟ density สำหรับ Critic_Score ให้เก็บผลลัพธ์จากคำสั่ง density() แล้วส่งพิกัด x และ y ไปยัง add_lines():
d <- density(vgsales2016$Critic_Score, na.rm = TRUE)
plot_ly() %>%
add_lines(x = ~d$x, y = ~d$y, fill = 'tozeroy') %>%
layout(xaxis = list(title = 'Critic score'),
yaxis = list(title = 'Density'))
สังเกตว่าสามารถสร้างกราฟประเภทใหม่ได้อย่างง่ายดายโดยใช้โค้ดที่คุ้นเคย! อาร์กิวเมนต์ fill = 'tozeroy' จะเติมสีในพื้นที่ใต้เส้นโค้ง
โหลด Data frame activision, ea และ nintendo รวมถึง plotly ไว้พร้อมแล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้างกราฟิกแบบโต้ตอบด้วย plotly ใน R
คำแนะนำการฝึกหัด
- คำนวณเส้นโค้ง density ของ
Critic_Scoreสำหรับ Activision, EA และ Nintendo แล้วเก็บไว้ในออบเจกต์d.a,d.eและd.nตามลำดับ - สร้างกราฟ density แบบซ้อนทับของ
Critic_Scoreสำหรับactivision,eaและnintendo(ตามลำดับนี้)
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Compute density curves
d.a <- density(___, na.rm = TRUE)
d.e <- density(___, na.rm = TRUE)
d.n <- density(___, na.rm = TRUE)
# Overlay density plots
plot_ly() %>%
add_lines(x = ___, y = ___, name = "Activision", fill = 'tozeroy') %>%
add_lines(x = ___, y = ___, name = "Electronic Arts", fill = 'tozeroy') %>%
add_lines(x = ___, y = ___, name = "Nintendo", fill = 'tozeroy') %>%
layout(xaxis = list(title = 'Critic Score'),
yaxis = list(title = 'Density'))