แปลงเป็นกราฟแบบจุด
กราฟจากแบบฝึกหัดที่แล้วดูดีทีเดียว แต่ถ้าอยากเห็นค่าของกลุ่มที่มีตัวเลขต่ำกว่าล่ะ? คงเป็นเรื่องยากที่จะอ่านค่าเหล่านั้น เพราะบราซิลและอาร์เจนตินาดึงช่วงบนของแกนให้สูงมากจนข้อมูลส่วนอื่นดูแน่นอยู่ด้านล่าง
สถานการณ์แบบนี้เหมาะมากที่จะเปลี่ยนไปใช้ log scale อย่างไรก็ตาม โปรดจำไว้ว่าเมื่อใช้ log scale แนวคิดเรื่องการ stacking จะใช้ไม่ได้ ดังนั้นควรเปลี่ยนไปใช้กราฟแบบจุดแทน! สังเกตตัวกรองเพิ่มเติมที่ใส่ไว้ใน pipeline ด้วย ลองรันโค้ดโดยไม่มีตัวกรองนี้แล้วดูว่าเกิดอะไรขึ้น
ครั้งนี้แทนที่จะปรับแต่งข้อมูลก่อนส่งให้ ggplot() เราจะเพิ่ม scale_y_log10() เข้าไปในกราฟโดยตรง แล้ว ggplot จะจัดการให้เอง
เพื่อให้กราฟดูเรียบร้อย ให้ใช้ theme_minimal() เพื่อทำให้พื้นหลังดูเบาลง และเพิ่ม size ของจุดจากค่าเริ่มต้นเป็น 2
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
แนวทางปฏิบัติที่ดีที่สุดสำหรับการสร้างภาพข้อมูลใน R
คำแนะนำการฝึกหัด
- เปลี่ยน geometry จาก
geom_col()เป็นgeom_point() - เพิ่มขนาดจุดด้วย
size = 2 - เปลี่ยนไปใช้ log scale ด้วย
scale_y_log10() - ทำให้พื้นหลังดูเบาลงด้วย
theme_minimal()
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
amr_pertussis %>% filter(cases > 0) %>%
ggplot(aes(x = reorder(country, cases), y = cases)) +
# switch geometry to points and set point size = 2
geom_col() +
# change y-axis to log10.
___ +
# add theme_minimal()
___ +
coord_flip()