การสร้างแผนที่แสดงผู้ชนะการเลือกตั้งวุฒิสภา
ในการเลือกตั้งกลางเทอมปี 2018 มีที่นั่งในวุฒิสภาทั้งหมด 33 ที่นั่งที่เปิดรับการเลือกตั้ง (บวกกับการเลือกตั้งพิเศษอีก 2 ครั้งซึ่งจะไม่นำมาพิจารณาในแบบฝึกหัดนี้) โจทย์คือการสร้างแผนที่ choropleth โดยใช้พรรคการเมืองของผู้ชนะเป็นตัวกำหนดสีของแต่ละรัฐ
การทำเช่นนี้จำเป็นต้องแมป factor เข้ากับสีพื้น อย่างไรก็ตาม aesthetic z รับเฉพาะตัวแปรเชิงตัวเลข วิธีแก้ที่ง่ายที่สุดคือแปลง party ให้เป็นตัวแปรเชิงตัวเลขผ่าน as.numeric(party) แล้วระบุสีที่ต้องการด้วยตนเองใน add_trace() นอกจากนี้ colorbar ที่แสดงอยู่ไม่มีประโยชน์มากนัก สามารถลบออกได้โดยเพิ่ม layer hide_colorbar()
data frame senate_winners และ plotly ถูกโหลดไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้างกราฟิกแบบโต้ตอบด้วย plotly ใน R
คำแนะนำการฝึกหัด
- สร้างแผนที่ choropleth ที่ใช้สีของแต่ละรัฐแทนพรรคการเมืองที่ชนะการเลือกตั้ง
- ใน
add_trace()ให้ระบุสี"dodgerblue","mediumseagreen"และ"tomato"ด้วยตนเอง (ตามลำดับนี้) - เติมข้อความ hover info ให้ครบโดยใช้ชื่อคอลัมน์ที่เหมาะสม
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create a choropleth map displaying the Senate results
senate_winners %>%
plot_geo(locationmode = ___) %>%
add_trace(___, ___,
___ = ___(___, ___, ___),
hoverinfo = "text",
text = ~paste("Candidate:", ___, "
",
"Party:", ___, "
",
"% vote:", round(___, 1))
) %>%
layout(geo = list(scope = 'usa')) %>%
hide_colorbar()