วิธีสร้างฮิสโตแกรมตามกลุ่มใน 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()
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน R:
วิธีสร้างฮิสโตแกรมความถี่สัมพัทธ์ใน R
วิธีพล็อต Boxplot หลายอันในกราฟเดียวใน R
วิธีการพล็อตหลายบรรทัดในกราฟใน R