เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ใช้ประโยชน์จากจุดแข็งของ ggplot2

คุณได้เห็นแล้วว่าสามารถเพิ่ม layer ให้กับพล็อต ggmap() โดยการเพิ่ม geom_***() layer และระบุ data กับ mapping อย่างชัดเจน แต่วิธีนี้มีข้อเสียสองประการ คือ layer ที่เพิ่มเข้ามาทีหลังก็ต้องระบุ data และ mapping เองด้วย และไม่สามารถใช้ facetting ได้เลย

โชคดีที่ ggmap() มีทางออกสำหรับปัญหานี้ นั่นคือ argument ชื่อ base_layer ซึ่งรับการเรียก ggplot() แบบปกติที่ระบุ data และ mapping เริ่มต้นสำหรับทุก layer

ตัวอย่างเช่น พล็อตเริ่มต้นนี้:

ggmap(corvallis_map) +
  geom_point(data = sales, aes(lon, lat))

สามารถเขียนใหม่ได้เป็น:

ggmap(corvallis_map, 
    base_layer = ggplot(sales, aes(lon, lat))) +
  geom_point()

การย้าย aes(x, y) และ data จาก geom_point() ไปไว้ใน ggplot() ภายใน ggmap() ทำให้สามารถเพิ่ม facet หรือ layer เพิ่มเติมได้ตามแบบปกติของ ggplot2

มาลองทำกันเลย

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การสร้างภาพข้อมูลภูมิสารสนเทศใน R

ดูคอร์ส

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Use base_layer argument to ggmap() to specify data and x, y mappings
ggmap(corvallis_map_bw, ___) +
  geom_point(data = sales, aes(lon, lat, color = year_built))
แก้ไขและรันโค้ด