วิธีสร้างฮิสโตแกรมตามกลุ่มใน ggplot2 (พร้อมตัวอย่าง)


คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อสร้างฮิสโตแกรมแบบกลุ่มใน ggplot2:

 ggplot(df, aes(x=values_var, fill=group_var)) +
  geom_histogram(color=' black ', alpha= 0.4 , position=' identity ') +
  scale_fill_manual(values=c(' red ', ' blue ', ' purple '))

ตัวอย่างนี้สร้างพล็อตที่มีฮิสโตแกรมสามอันที่ทับซ้อนกัน ได้แก่ สีแดง น้ำเงิน และม่วง

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่าง: สร้างฮิสโตแกรมตามกลุ่มใน ggplot2

สมมติว่าเรามีกรอบข้อมูลต่อไปนี้ใน 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

เราสามารถใช้โค้ดต่อไปนี้เพื่อสร้างฮิสโตแกรมที่แสดงการกระจายคะแนนที่ทำโดยแต่ละทีมในสามทีม:

 library (ggplot2)

#create histogram by team
ggplot(df, aes(x=points, fill=team)) +
  geom_histogram(color=' black ', alpha= 0.4 , position=' identity ') +
  scale_fill_manual(values=c(' red ', ' blue ', ' purple ')) 

ฮิสโตแกรมทั้งสามแสดงถึงการกระจายคะแนนที่ผู้เล่นแต่ละทีมทำได้

คำอธิบายทางด้านขวาของโครงเรื่องจะแสดงว่าสีใดที่สอดคล้องกับแต่ละทีม

โปรดทราบว่าอาร์กิวเมนต์ สี ระบุสีเค้าร่างของแท่งกราฟในแต่ละฮิสโตแกรม และอาร์กิวเมนต์ อัล ฟ่าระบุความโปร่งใส (ระหว่าง 0 ถึง 1) ที่จะใช้สำหรับแท่งกราฟ

ด้วยการตั้งค่า อัลฟ่า ให้น้อยกว่า 1 เราจะเห็นแถบที่ทับซ้อนกันระหว่างฮิสโตแกรม

คุณสามารถใช้ฟังก์ชัน labs() เพื่อแก้ไขป้ายกำกับในพล็อตและเลือก ธีม ggplot2 ที่เหมาะกับสไตล์ของคุณ:

 library (ggplot2)

#create histogram by team
ggplot(df, aes(x=points, fill=team)) +
  geom_histogram(color=' black ', alpha= 0.4 , position=' identity ') +
  scale_fill_manual(values=c(' red ', ' blue ', ' purple ')) +
  labs(fill=' Team ', x=' Points Scored ', y=' Count ', title=' Points Scored by Team ') +
  theme_classic() 

ฮิสโตแกรม ggplot2 ตามกลุ่ม

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

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

วิธีสร้างฮิสโตแกรมความถี่สัมพัทธ์ใน R
วิธีพล็อต Boxplot หลายอันในกราฟเดียวใน R
วิธีการพล็อตหลายบรรทัดในกราฟใน R

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

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