วิธีจัดเรียงแท่งในแผนภูมิแท่ง ggplot2


ตามค่าเริ่มต้น ggplot2 จะจัดเรียงแท่งในแผนภูมิแท่งตามลำดับต่อไปนี้:

  • ตัวแปรปัจจัยแบ่งตามระดับปัจจัย
  • ตัวแปรอักขระจะแสดงรายการตามตัวอักษร

อย่างไรก็ตาม คุณมักจะสนใจที่จะสั่งซื้อแท่งในลำดับเฉพาะอื่น

บทช่วยสอนนี้จะอธิบายวิธีการทำเช่นนี้โดยใช้กรอบข้อมูลต่อไปนี้:

 #create data frame
df <- data. frame (team = c('B', 'B', 'B', 'A', 'A', 'C'),
                 points = c(12, 28, 19, 22, 32, 45),
                 rebounds = c(5, 7, 7, 12, 11, 4))

#view structure of data frame
str(df)

'data.frame': 6 obs. of 3 variables:
 $ team: Factor w/ 3 levels "A","B","C": 2 2 2 1 1 3
 $ points: num 12 28 19 22 32 45
 $rebounds: num 5 7 7 12 11 4

ตัวอย่างที่ 1: สั่งซื้อแท่งตามลำดับปัจจัยเฉพาะ

หากเราพยายามสร้างแผนภูมิแท่งเพื่อแสดงความถี่ตามทีม แท่งจะปรากฏขึ้นตามลำดับตัวอักษรโดยอัตโนมัติ:

 library (ggplot2)

ggplot(df, aes(x=team)) +
  geom_bar ()

รหัสต่อไปนี้แสดงวิธีการเรียงลำดับแท่งตามลำดับเฉพาะ:

 #specify factor level order
df$team = factor(df$team, levels = c('C', 'A', 'B'))

#create bar chart again 
ggplot(df, aes(x=team)) +
  geom_bar ()

ตัวอย่างที่ 2: แถบคำสั่งซื้อตามค่าตัวเลข

นอกจากนี้เรายังสามารถจัดเรียงแท่งตามค่าตัวเลขได้อีกด้วย ตัวอย่างเช่น รหัสต่อไปนี้แสดงวิธีการเรียงลำดับแท่งจากความถี่สูงสุดไปต่ำสุดโดยใช้ฟังก์ชัน reorder() :

 library (ggplot2)

ggplot(df, aes(x= reorder (team, team, function (x)-length(x)))) +
  geom_bar () 

แถบสั่งซื้อในแผนภูมิแท่ง ggplot2

นอกจากนี้เรายังสามารถจัดเรียงแท่งจากความถี่ที่เล็กที่สุดไปหาใหญ่ที่สุดได้โดยการลบเครื่องหมายลบในการเรียกใช้ ฟังก์ชัน () ในฟังก์ชัน การเรียงลำดับใหม่ () :

 library (ggplot2)

ggplot(df, aes(x= reorder (team, team, function (x) length(x)))) +
  geom_bar () 

เรียงลำดับแท่งจากเล็กที่สุดไปใหญ่ที่สุดในแผนภูมิแท่ง ggplot2

แหล่งข้อมูลเพิ่มเติม

เอกสารประกอบ สำหรับฟังก์ชัน geom_bar()
เอกสารประกอบ สำหรับฟังก์ชัน reorder()
รายการบทช่วยสอน R เกี่ยวกับสถิติทั้งหมด

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *