ป้ายกำกับและลำดับของ Facet

การสร้างภาพข้อมูลระดับกลางด้วย ggplot2

Rick Scavetta

Founder, Scavetta Academy

DataFrame ใหม่

# Plot
p <- ggplot(msleep2, aes(bodywt_log,
                         brainwt_log)) +
  geom_point(alpha = 0.6, shape = 16) +
  coord_fixed()

p

การสร้างภาพข้อมูลระดับกลางด้วย ggplot2

DataFrame ใหม่ พร้อม Facet

p +
  facet_grid(rows = vars(vore))

การสร้างภาพข้อมูลระดับกลางด้วย ggplot2

DataFrame ใหม่ พร้อม Facet

p +
  facet_grid(rows = vars(vore))

การสร้างภาพข้อมูลระดับกลางด้วย ggplot2

ป้ายกำกับและลำดับที่ไม่ดี

p +
  facet_grid(rows = vars(vore))

ปัญหาที่พบบ่อยของ Facet:

  • ป้ายกำกับไม่ดี (เช่น ไม่สื่อความหมาย)
  • ลำดับไม่ถูกต้องหรือไม่เหมาะสม

การสร้างภาพข้อมูลระดับกลางด้วย ggplot2

ป้ายกำกับและลำดับที่ไม่ดี

p +
  facet_grid(rows = vars(vore))

วิธีแก้ไข:

  • ง่าย: เพิ่มป้ายกำกับใน ggplot
  • ดีกว่า: เปลี่ยนป้ายและจัดเรียง factor ใน DataFrame

การสร้างภาพข้อมูลระดับกลางด้วย ggplot2

อาร์กิวเมนต์ labeller

# Default is to label the value
p +
  facet_grid(rows = vars(vore), 
             labeller = label_value)

การสร้างภาพข้อมูลระดับกลางด้วย ggplot2

`label_both` เพิ่มชื่อตัวแปรในป้ายกำกับ

# Print variable name also
p +
  facet_grid(rows = vars(vore), 
               labeller = label_both)

การสร้างภาพข้อมูลระดับกลางด้วย ggplot2

สองตัวแปรในด้านเดียว

p +
  facet_grid(rows = vars(vore, 
                         conservation))

การสร้างภาพข้อมูลระดับกลางด้วย ggplot2

`label_context` ช่วยลดความกำกวม

p +
  facet_grid(rows = vars(vore,
                         conservation),
               labeller = label_context)

การสร้างภาพข้อมูลระดับกลางด้วย ggplot2

ใช้แถวและคอลัมน์เมื่อเหมาะสม

p +
  facet_grid(rows = vars(vore), 
             cols = vars(conservation),
             labeller = label_context)

การสร้างภาพข้อมูลระดับกลางด้วย ggplot2

ใช้แถวและคอลัมน์เมื่อเหมาะสม

p +
  facet_grid(rows = vars(vore), 
             cols = vars(conservation))

การสร้างภาพข้อมูลระดับกลางด้วย ggplot2

ใช้แถวและคอลัมน์เมื่อเหมาะสม

การสร้างภาพข้อมูลระดับกลางด้วย ggplot2

การเปลี่ยนป้ายและจัดเรียง Factor

msleep2$conservation <- fct_recode(msleep2$conservation,
                                   Domesticated = "domesticated",
                                   `Least concern` = "lc",
                                   `Near threatened` = "nt",
                                   Vulnerable = "vu",
                                   Endangered = "en")

msleep2$vore = fct_recode(msleep2$vore,
                          Carnivore = "carni",
                          Herbivore = "herbi",
                          Insectivore = "insecti",
                          Omnivore = "omni")
การสร้างภาพข้อมูลระดับกลางด้วย ggplot2

สร้างกราฟใหม่พร้อมป้ายกำกับที่อัปเดต

# Plot
p <- ggplot(msleep2, aes(bodywt_log,
                         brainwt_log)) +
  geom_point(alpha = 0.6, shape = 16) +
  coord_fixed()

p +
  facet_grid(rows = vars(vore), 
             cols = vars(conservation)) 

การสร้างภาพข้อมูลระดับกลางด้วย ggplot2

สร้างกราฟใหม่พร้อมป้ายกำกับที่อัปเดต

การสร้างภาพข้อมูลระดับกลางด้วย ggplot2

การเปลี่ยนลำดับของ Level

# Change order of levels:
msleep2$conservation = fct_relevel(msleep2$conservation,
                                   c("Domesticated",
                                     "Least concern",
                                     "Near threatened",
                                     "Vulnerable",
                                     "Endangered"))

การสร้างภาพข้อมูลระดับกลางด้วย ggplot2

สร้างกราฟใหม่พร้อมลำดับที่อัปเดต

การสร้างภาพข้อมูลระดับกลางด้วย ggplot2

มาฝึกกันเถอะ!

การสร้างภาพข้อมูลระดับกลางด้วย ggplot2

Preparing Video For Download...