วิธีพล็อตหลายบรรทัดใน ggplot2 (พร้อมตัวอย่าง)
คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อลงจุดหลายบรรทัดใน ggplot2:
ggplot(df, aes(x=x_var, y=y_var)) +
geom_line(aes(color=group_var)) +
scale_color_manual(name=' legend_title ', labels=c(' lab1 ', ' lab2 ', ' lab3 '),
values=c(' color1 ', ' color2 ', ' color3 '))
ไวยากรณ์เฉพาะนี้สร้างพล็อตใน ggplot2 โดยมีสามบรรทัด
ไวยากรณ์นี้จะถือว่ากรอบข้อมูลของคุณอยู่ใน รูปแบบยาว
ตัวอย่างต่อไปนี้แสดงวิธีการลงจุดหลายบรรทัดใน ggplot2 ในทางปฏิบัติ
ตัวอย่าง: การวางแผนหลายบรรทัดใน ggplot2
สมมติว่าเรามีกรอบข้อมูลต่อไปนี้ใน R ซึ่งมีข้อมูลเกี่ยวกับจำนวนยอดขายในร้านค้าที่แตกต่างกันสามแห่งในห้าวันที่แตกต่างกัน:
#create data frame
df <- data. frame (day=c(1, 2, 3, 4, 5),
storeA=c(5, 6, 8, 8, 9),
storeB=c(3, 3, 4, 5, 7),
storeC=c(8, 10, 12, 12, 17))
#view data frame
df
day storeA storeB storeC
1 1 5 3 8
2 2 6 3 10
3 3 8 4 12
4 4 8 5 12
5 5 9 7 17
ขณะนี้กรอบข้อมูลนี้อยู่ในรูปแบบกว้าง
อย่างไรก็ตาม เราสามารถใช้ฟังก์ชัน pivot_longer() จากแพ็คเกจ Tidyr เพื่อแปลงข้อมูลเป็นรูปแบบยาวได้อย่างรวดเร็ว:
library (tidyr)
#convert data from wide to long format
df <- df %>% pivot_longer(cols=c(' storeA ', ' storeB ', ' storeC '),
names_to=' store ',
values_to=' sales ')
#view updated data frame
df
# A tibble: 15 x 3
day store sales
1 1 blindA 5
2 1 storeB 3
3 1 blindC 8
4 2 blindA 6
5 2 storeB 3
6 2 storeC 10
7 3 storeA 8
8 3 storeB 4
9 3 storeC 12
10 4 storeA 8
11 4 storeB 5
12 4 storeC 12
13 5 storeA 9
14 5 storeB 7
15 5 storeC 17
ที่เกี่ยวข้อง: ข้อมูลเบื้องต้นเกี่ยวกับ pivot_longer() ใน R
ตอนนี้กรอบข้อมูลอยู่ในรูปแบบยาว เราสามารถใช้ไวยากรณ์ต่อไปนี้กับ ggplot2 เพื่อพล็อตยอดขายของแต่ละร้านค้า:
library (ggplot2)
#plot sales by store
ggplot(df, aes(x=day, y=sales)) +
geom_line(aes(color=store)) +
scale_color_manual(name=' Store ', labels=c(' A ', ' B ', ' C '),
values=c(' red ', ' purple ', ' steelblue '))
แต่ละแถวจะแสดงยอดขายที่เกิดขึ้นในแต่ละร้านในแต่ละวัน
โปรดทราบว่าเราใช้ฟังก์ชัน scale_color_manual() เพื่อสร้างคำอธิบายที่กำหนดเองทางด้านขวาของโครงเรื่องเพื่อให้ตีความบรรทัดได้ง่ายขึ้น
คุณสามารถแก้ไขอาร์กิวเมนต์ของฟังก์ชันนี้ได้อย่างอิสระเพื่อสร้างคำอธิบายที่ปรากฏตามที่คุณต้องการ
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน ggplot2:
วิธีการพล็อตค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐานใน ggplot2
วิธีเพิ่มเส้นแนวนอนให้กับพล็อตโดยใช้ ggplot2
วิธีการวาดเส้นแนวโน้มใน ggplot2