วิธีพล็อตหลายคอลัมน์ใน r: พร้อมตัวอย่าง
บ่อยครั้งที่คุณอาจต้องการลงจุดหลายคอลัมน์จากกรอบข้อมูลใน R โชคดีที่ทำได้ง่ายโดยใช้ไลบรารีการแสดงภาพ ggplot2
บทช่วยสอนนี้แสดงวิธีใช้ ggplot2 เพื่อลงจุดหลายคอลัมน์ของกรอบข้อมูลบนแผนภูมิเดียวกันและบนแผนภูมิที่แตกต่างกัน
ตัวอย่างที่ 1: ลงจุดหลายคอลัมน์บนแผนภูมิเดียวกัน
รหัสต่อไปนี้แสดงวิธีสร้าง data frame จากนั้น “ละลาย” data frame ให้อยู่ในรูปแบบยาว จากนั้นใช้ ggplot2 เพื่อสร้าง line plot สำหรับแต่ละคอลัมน์ใน data frame:
#load necessary libraries library(ggplot2) library(reshape2) #create data frame df <- data.frame(index=c(1, 2, 3, 4, 5, 6), var1=c(4, 4, 5, 4, 3, 2), var2=c(1, 2, 4, 4, 6, 9), var3=c(9, 9, 9, 5, 5, 3)) #melt data frame into long format df <- melt(df, id. vars = ' index ', variable. name = ' series ') #create line plot for each column in data frame ggplot(df, aes (index, value)) + geom_line( aes (color=series))
ตัวอย่างที่ 2: พล็อตหลายคอลัมน์บนแผนภูมิที่แตกต่างกัน
โค้ดต่อไปนี้แสดงวิธีสร้าง data frame จากนั้น “ละลาย” เฟรมข้อมูลเป็นรูปแบบยาว จากนั้นใช้ ggplot2 เพื่อสร้างเส้นพล็อตสำหรับแต่ละคอลัมน์ใน data frame โดยแบ่งแต่ละแถวออกเป็นพล็อตของตัวเอง:
#load necessary libraries library(ggplot2) library(reshape2) #create data frame df <- data.frame(index=c(1, 2, 3, 4, 5, 6), var1=c(4, 4, 5, 4, 3, 2), var2=c(1, 2, 4, 4, 6, 9), var3=c(9, 9, 9, 5, 5, 3)) #melt data frame into long format df <- melt(df, id. vars = ' index ', variable. name = ' series ') #create line plot for each column in data frame ggplot(df, aes (index, value)) + geom_line() + facet_grid(series ~ .)
แหล่งข้อมูลเพิ่มเติม
วิธีสร้างแปลงแบบเคียงข้างกันใน ggplot2
วิธีสร้าง boxplot ที่จัดกลุ่มใน R โดยใช้ ggplot2