การใช้ FacetGrid, catplot และ lmplot

การสร้างภาพข้อมูลระดับกลางด้วย Seaborn

Chris Moffitt

Instructor

Boxplot Facetgrid

การสร้างภาพข้อมูลระดับกลางด้วย Seaborn

Tidy data

  • กราฟแบบ grid ของ Seaborn ต้องการข้อมูลในรูปแบบ "tidy format"
  • หนึ่งการสังเกตต่อหนึ่งแถวข้อมูล

ข้อมูล Tidy

การสร้างภาพข้อมูลระดับกลางด้วย Seaborn

FacetGrid

  • FacetGrid เป็นพื้นฐานของกราฟแบบ grid หลายประเภท
  • ช่วยควบคุมการกระจายข้อมูลตามคอลัมน์ แถว และ hue
  • เมื่อสร้าง FacetGrid แล้ว ต้องกำหนดประเภทกราฟให้กับ grid
การสร้างภาพข้อมูลระดับกลางด้วย Seaborn

ตัวอย่าง FacetGrid แบบ Categorical

g = sns.FacetGrid(df, col='HIGHDEG')
g.map(sns.boxplot, 'Tuition', 
      order=['1', '2', '3', '4'])

ตัวอย่าง Boxplot Grid

การสร้างภาพข้อมูลระดับกลางด้วย Seaborn

catplot()

  • catplot เป็นวิธีที่ง่ายกว่าในการใช้ FacetGrid กับข้อมูลเชิงหมวดหมู่
  • รวมขั้นตอน facetting และ mapping ไว้ในฟังก์ชันเดียว
sns.catplot(x="Tuition", data=df,
            col="HIGHDEG", kind="box")

ตัวอย่าง Boxplot Grid 2

การสร้างภาพข้อมูลระดับกลางด้วย Seaborn

FacetGrid สำหรับ Regression

  • FacetGrid() ใช้กับกราฟแบบ scatter หรือ regression ได้เช่นกัน
g = sns.FacetGrid(df, col='HIGHDEG')
g.map(plt.scatter, 'Tuition', 'SAT_AVG_ALL')

ตัวอย่าง Scatter Grid

การสร้างภาพข้อมูลระดับกลางด้วย Seaborn

lmplot

  • lmplot พล็อตกราฟ scatter และ regression บน FacetGrid
sns.lmplot(data=df, x="Tuition", y="SAT_AVG_ALL",
           col="HIGHDEG", fit_reg=False)

ตัวอย่าง Scatter Grid 2

การสร้างภาพข้อมูลระดับกลางด้วย Seaborn

lmplot พร้อม Regression

sns.lmplot(data=df, x="Tuition", y="SAT_AVG_ALL",
           col="HIGHDEG", row="REGION")

ตัวอย่าง Regression Grid

การสร้างภาพข้อมูลระดับกลางด้วย Seaborn

มาฝึกกันเถอะ!

การสร้างภาพข้อมูลระดับกลางด้วย Seaborn

Preparing Video For Download...