วิธีสร้างพล็อตไวโอลินใน ggplot2 (พร้อมตัวอย่าง)


คุณสามารถใช้วิธีการต่อไปนี้เพื่อสร้างพล็อตไวโอลินใน ggplot2:

วิธีที่ 1: สร้างแปลงไวโอลินตามกลุ่ม

 ggplot(df, aes(x=group_var, y=values_var, fill=group_var)) + 
  geom_violin() +

วิธีที่ 2: สร้างเส้นทางไวโอลินแนวนอนตามกลุ่ม

 ggplot(df, aes(x=group_var, y=values_var, fill=group_var)) + 
  geom_violin() +
  coordinate_flip()

วิธีที่ 3: สร้างแผนการไวโอลินตามกลุ่มและแสดงค่ามัธยฐาน

 ggplot(df, aes(x=group_var, y=values_var, fill=group_var)) + 
  geom_violin() +
  stat_summary(fun=median, geom=' point ', size= 2 )

ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับกรอบข้อมูลต่อไปนี้ใน R:

 #make this example reproducible
set. seeds (1)

#create data frame
df <- data. frame (team=rep(c(' A ', ' B ', ' C '), each= 100 ),
                 points=c(rnorm(100, mean=10),
                          rnorm(100, mean=15),
                          rnorm(100, mean=20)))

#view head of data frame
head(df)

  team points
1 A 9.373546
2 A 10.183643
3 A 9.164371
4 A 11.595281
5 A 10.329508
6 A 9.179532

หมายเหตุ : เราใช้ฟังก์ชัน set.seed() เพื่อให้แน่ใจว่าตัวอย่างนี้สามารถทำซ้ำได้

ตัวอย่างที่ 1: สร้างการติดตามไวโอลินตามกลุ่ม

เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อสร้างแผนไวโอลินที่แสดงการกระจายของตัวแปร คะแนน ซึ่งจัดกลุ่มตามตัวแปร ทีม :

 library (ggplot2)

#create violin plot to visualize distribution of points by team
ggplot(df, aes(x=team, y=points, fill=team)) + 
  geom_violin() 

แกน x จะแสดงแต่ละทีม และแกน y จะแสดงการกระจายคะแนนที่แต่ละทีมทำคะแนนได้

ตัวอย่างที่ 2: สร้างร่องรอยไวโอลินตามกลุ่ม

หากต้องการสร้างพล็อตไวโอลินแนวนอนที่แสดงการกระจายของ ตัวแปร คะแนน โดยจัดกลุ่มตามตัวแปร ทีม เพียงเพิ่มฟังก์ชัน coord_flip() :

 library (ggplot2)

#create horizontal violin plots to visualize distribution of points by team
ggplot(df, aes(x=team, y=points, fill=team)) + 
  geom_violin() +
  coordinate_flip() 

แปลงไวโอลินแนวนอนใน ggplot2

แกน y จะแสดงแต่ละทีม และแกน x จะแสดงการกระจายคะแนนที่แต่ละทีมทำคะแนนได้

ตัวอย่างที่ 3: สร้างแปลงไวโอลินตามกลุ่มและแสดงค่ามัธยฐาน

รหัสต่อไปนี้สาธิตวิธีการสร้างแผนไวโอลินที่แสดงการกระจายของ ตัวแปร คะแนน ซึ่งจัดกลุ่มตามตัวแปร ทีม โดยมีค่าคะแนนมัธยฐานที่แสดงเป็นวงกลม:

 library (ggplot2)

#create violin plots and display median points value as circle
ggplot(df, aes(x=team, y=points, fill=team)) + 
  geom_violin() +
  stat_summary(fun=median, geom=' point ', size= 2 ) 

พล็อตซอใน ggplot2

ค่ามัธยฐานของแต่ละทีมจะแสดงด้วยวงกลมเล็กๆ ในแต่ละพล็อตซอ

หมายเหตุ : หากต้องการเพิ่มขนาดของวงกลม เพียงเพิ่มค่าของอาร์กิวเมนต์ ขนาด ในฟังก์ชัน stat_summary()

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

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน ggplot2:

วิธีเปลี่ยนขนาดตัวอักษรใน ggplot2
วิธีลบคำอธิบายแผนภูมิใน ggplot2
วิธีหมุนป้ายกำกับแกนใน ggplot2

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

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