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

การเพิ่มป้ายชื่อย่านที่พักอาศัย

ป้ายชื่อย่านที่พักอาศัยมีความยาวและขนาดใหญ่จนบดบังข้อมูลในแผนที่ ลองดูที่ manhat_hoods$NTAName จะเห็นว่าบางย่านเป็นการรวมกันของหลายสถานที่ วิธีหนึ่งที่ทำให้ชื่อกระชับขึ้นคือการแบ่งชื่อออกเป็นหลายบรรทัด ตัวอย่างเช่น เปลี่ยนจาก

Midtown-Midtown South

ให้เป็น

Midtown /
Midtown 
South

ในการทำเช่นนี้ สามารถใช้ฟังก์ชัน gsub() ใน base R ได้ โดย gsub() จะแทนที่อาร์กิวเมนต์แรกด้วยอาร์กิวเมนต์ที่สองในสตริงที่ระบุในอาร์กิวเมนต์ที่สาม ตัวอย่างเช่น gsub("a", "A", x) จะแทนที่ "a" ทุกตัวใน x ด้วย "A"

นอกจากนี้ยังสามารถปรับขนาดตัวอักษรให้เล็กลงเพื่อลดผลกระทบของชื่อย่านได้อีกด้วย

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

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

ดูคอร์ส

คำแนะนำการฝึกหัด

  • สร้างคอลัมน์ name ใหม่ใน manhat_hoods โดยใช้ gsub() เพื่อแทนที่ช่องว่างทั้งหมด (" ") ด้วยการขึ้นบรรทัดใหม่ ("\n") ใน manhat_hoods$NTAName
  • อัปเดต name ใน manhat_hoods โดยใช้ gsub() เพื่อแทนที่เครื่องหมายขีด ("-") ทั้งหมดด้วยเครื่องหมาย slash ตามด้วยการขึ้นบรรทัดใหม่ ("/\n") ใน manhat_hoods$name
  • แก้ไขพล็อตให้กำหนด text เป็น "name" และตั้งค่า size เป็น 0.5

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

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

library(tmap)

# gsub() to replace " " with "\n"


# gsub() to replace "-" with "/\n"


# Edit to map text to name, set size to 0.5
tm_shape(nyc_tracts_merge) +
    tm_fill(col = "estimate") +
  tm_shape(water) +
    tm_fill(col = "grey90") +
  tm_shape(manhat_hoods) +
    tm_borders() +
    tm_text(text = "NTAName")
แก้ไขและรันโค้ด